////
Search

숫자 카드

소스코드

import sys input = sys.stdin.readline N = int(input().strip()) cards = set(map(int, input().strip().split())) M = int(input().strip()) nums = list(map(int, input().strip().split())) for num in nums: if num in cards: print(1, end=' ') else: print(0, end=' ')
Python
복사

풀이

여러 데이터들이 존재하는지 유무를 확인해 출력하는 것이다보니, 저는 개인적으로 먼저 딕셔너리나 Set 같은 해시테이블 자료구조가 먼저 떠올랐습니다.
여러 데이터들을 알맞게 담은 후에
nums를 순회하면서 있는지 없는지 확인합니다

복기

사실 메모리 초과라든지 그런 경우에 대해선 생각을 안하고 풀었어서, 풀고 나서는 너무 본능적으로 그렇게 사용한거 아닌가라는 생각을 했습니다
다만 너무 생각이 많은 것도 안 좋다는 생각을 오늘 느꼈어서, 여러 경험으로 쌓은 직관을 기반으로 시작을 끊고 문제가 생기면 그때 다른 방식으로도 떠올려봐야하는 게 더 좋을지도 모르겠다고 느꼈습니다