티스토리 뷰
https://www.acmicpc.net/problem/10815
# 숫자 카드
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
링크
TAG
- 빌림
- 싸피
- 자료구조
- 1182
- 덱
- 프로그래머스
- 조합
- 10815
- 큐
- heapq
- 수학
- 10971
- 딕셔너리
- 1715
- 10845
- 파이썬
- 11051
- 백준
- 삼성청년소프트웨어아카데미
- 백트래킹
- dp
- 1759
- 스택
- 10816
- 1358
- 1764
- 17478
- 2805
- 브루트포스
- 러스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함