-
https://www.acmicpc.net/problem/1920
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
첫 번째 시도!
시간오류나서 실패!
왜 오류일까를 한참 고민하다가 생각나는 것은 바로...
시간복잡도!!
이제는 문제 풀 때 알고리즘을 고려해서 풀어야겠다.
a = int(input()) a_1 = list(map(int,input().split())) b = int(input()) b_1 = list(map(int,input().split())) for i in b_1: if i in a_1: print(1) else: print(0)
두 번째 시도!
n = int(input()) n_list = list(map(int, input().split(' '))) n_list.sort() m = int(input()) targets = list(map(int, input().split(' '))) def binary(target): left = 0 right = n - 1 while left <= right: mid = (left + right) // 2 if n_list[mid] == target: return True if target < n_list[mid]: right = mid-1 elif target > n_list[mid]: left = mid + 1 for i in range(m): if binary(targets[i]): print(1) else: print(0)
'데일리 커밋' 카테고리의 다른 글
[프로그래머스] 달리기 경주 Python (0) 2023.04.25 [백준] 10250번: ACM 호텔 (0) 2022.01.16 [백준] 2798번: 블랙잭 (0) 2022.01.13 [백준] 4153번: 직각삼각형 (0) 2022.01.12 [백준] 1654: 랜선 자르기 (0) 2022.01.11