백준, 숫자카드, 10815

2024. 9. 6. 01:05ETC/Algorithm

[유형]

이분탐색 

 

[문제링크]

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

 

[요약]

숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.

 

[문제풀이]

N_list를 리스트로 사용하면 시간초과가 발생한다.

N_list를 dictionary나 Counter를 사용하면 시간 초과가 발생하지 않고 문제를 해결할 수 있다.

import sys
from collections import Counter
def input():
    return sys.stdin.readline().rstrip()

N = int(input())
N_list = Counter(list(map(int, input().split())))



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

for MM in M_list:
    if MM in N_list:
        print('1',end=' ')
    else:
        print('0',end=' ')

'ETC > Algorithm' 카테고리의 다른 글

백준, 입국심사, 3079, 파이썬  (0) 2024.09.06
백준, 나무 자르기, 2805  (0) 2024.09.06
백준, 1789, 수들의 합  (0) 2024.09.06
프로그래머스, 징검다리건너기, 64062  (0) 2024.09.06
백준, K번째 수, 1300, 파이썬  (0) 2024.09.05