jyamethyst21 님의 블로그

백준 10815번- '숫자 카드' (PYTHON 풀이) 본문

CODING 💻

백준 10815번- '숫자 카드' (PYTHON 풀이)

jyamethyst21 2025. 10. 11. 13:12

문제:

 

지난번 문제와 비슷한 것 같다. 사용자로부터 카드의 개수를 입력받고 각 카드에 적힌 수를 다음줄에 또 입력 받는다.

그 후 검사해야할 카드 역시 개수를 받은 다음 그 수를 입력 받는다.

출력해야 하는 부분은 검사해야할 카드의 각 자리에 검사 카드를 사용자가 갖고 있다면 1, 아니면 0을 출력하면 된다.

 

풀이:

N = int(input())
list1 = set(list(map(int,input().split())))

M = int(input())
list2 = list(map(int,input().split()))


result = []
for num in list2:
    if num in list1:
        result.append(1)
    else:
        result.append(0)

print(*result)

처음엔 이중 for문으로 풀까했는데 무조건 시간 초과가 날 것 같아서 다른 방법을 생각하려고 했다.

근데 그냥 리스트 만들어서 for문 돌린 다음 조건문으로 0,1 을 추가해주면 된다는 생각이 들어서 위와 같이 작성했다. 주의해야할 점은 set이 있다는 것이다. 유니크한 값만 모아놓고 비교를 해야하고 출력양식에 주의해서 언패킹 연산자를 사용하면 쉽게 풀 수 있다!

처음에 set 안써서 애먹었다..