티스토리 뷰

PS/BOJ Python

10815번 - 숫자 카드

zpqmdh 2023. 3. 29. 16:38

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

# 숫자 카드
import sys
input = sys.stdin.readline
N = int(input())
card = set(list(map(int, input().split())))
M = int(input())
find = list(map(int, input().split()))
answer = []
for idx in range(len(find)):
    if find[idx] in card:
        answer.append(1)
    else:
        answer.append(0)
print(*answer)

시간 초과를 피하기 위해서는 set 자료형을 사용하면 된다.

list에서의 in은 시간 복잡도가 O(n)인 반면, set 자료형에서의 in은 시간 복잡도가 O(1)이기 때문에 훨씬 효율적이다.

문제에서 card는 중복되지 않는 수라고 했기 때문에 가능하다. 

'PS > BOJ Python' 카테고리의 다른 글

1358번 - 하키  (0) 2023.03.31
1015번 - 수열 정렬  (0) 2023.03.30
17478번 - 재귀함수가 뭔가요?  (0) 2023.03.28
1182번 - 부분수열의 합  (0) 2023.03.25
2805번 - 나무 자르기  (0) 2023.03.24
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함