class 2

from sys import stdin, stdout
n = stdin.readline()
N = set(stdin.readline().split())
m = stdin.readline()
M = stdin.readline().split()

for l in M:
    if l in N:
        print(1)
    else:
        print(0)

<코드 설명>

  자료구조 시간에 배운 이진 탐색 방법을 활용하려 했는데 시간이 오래걸릴 것 같아 구글링하던 중, 새로운 방법을 발견하였다.

  먼저, input으로 인한 시간초과가 발생하지 않도록 stdin.readline()을 사용해주었다. n은 정수의 개수, N은 배열의 index로 입력받아주었다. 이를 set으로 묶으면 더욱 효율적인 코드가 된다고 한다. 이는 중복을 허용하지 않으며, 순서가 없기 때문이다. 또, m을 변수로 설정하여 정수 개수를 입력 받고, M으로 list를 만들어준다.

  for문으로 M list 속 수들을 l에 넣어주는데 만약 l이 N에 속해 있다면 1을 출력하고, 그렇지 않으면 0을 출력하도록 하였다.

 

<실행 결과>

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

[BOJ] 1094 막대기  (0) 2022.05.22
[BOJ] 10814 나이순 정렬  (0) 2022.05.22
[BOJ] 1850 최대공약수  (0) 2022.05.15
[BOJ] 2751 수 정렬하기2  (0) 2022.05.15
[BOJ] 7568 덩치  (0) 2022.05.15

+ Recent posts