백준 알고리즘 2

백준 1920번[수찾기] 문제풀이

문제 설명 📌문제 접근 방법 처음에 간단히 생각했던 방법은 '빈 리스트에 B가 A에 있으면 1, 없으면 0을 저장하자'였습니다. 1. 빈 리스트 생성 2. B가 A에 있다면 1, 없으면 0 리턴 📌1차 오답 소스코드 import sys M = int(sys.stdin.readline().rstrip()) A = list(map(int, sys.stdin.readline().rstrip().split())) N = int(sys.stdin.readline().rstrip()) B = list(map(int, sys.stdin.readline().rstrip().split())) def solution(A, B): res = [] for x in B: if x in A: res.append(1) else: ..

알고리즘 2021.03.07

백준 1181번[단어 정렬] 문제풀이

📌문제 설명 📌문제 접근 방식 1. 중복된 단어를 제거한다. 2. 글자 수로 정렬 후 알파벳 사전순으로 정렬한다. 📌몰랐던 점 sorting 기준을 lambda식으로 정의할 때 2가지 기준을 설정할 것 중복된 단어를 제거하는 건 set 자료구조를 사용해 간단히 해결할 수 있었다. 2단계에서 글자 수로 정렬하는 것도 문제없이 수행했으나 알파벳 사전순으로 정렬하는 과정에서 헷갈렸던 부분은 문자열 정렬을 어떻게 할 것인가였다. lambda 식을 이용해 정렬할 때 2개의 기준을 주고 싶었는데 문법이 기억나지 않았다. 그래서 직접 문자열 정렬을 하는 함수로 구현하다보니 시간이 오래걸렸다. sort함수의 key파라미터로 lambda 식을 넘겨줄 때 글자수와 문자열을 설정하면 간단한 문제였다. 📌소스코드 import..

알고리즘 2021.03.06