파이썬2 [Python] 백준 1920 수 찾기 N=int(input()) first=list(map(int,input().split())) M=int(input()) second=list(map(int,input().split())) for i in range(M): check=1 for j in range(len(first)): if(second[i]==first[j]): print("1") check=0 break if(check==1): print("0") 이중반복문을 사용하여 일일이 비교를 했더니 시간초과가 발생하였다. 문제해결을 위해 이진 탐색 알고리즘(Binary Search)을 사용했다. 이진 탐색을 적용 할 수 있는 전제 조건은 오름차순으로 정렬된 리스트이다. 앞에서 했던 코드처럼 처음부터 끝까지 하나씩 모든 데이터를 체크하여 값을 찾.. 2022. 3. 9. [Python] 백준 4928 베르트랑 공준 이 문제를 해결하기위해 전에 풀었던 (백준 1929) 문제에서 소수 구하는 방법, 제곱근이 있는 수 중에 약수가 있으면 false를 반환하는 방법(isPrime 함수)를 사용하여 문제를 해결하려고 했으나 시간초과가 발생하였다. 입력받은 n값과 그 범위에 따라 모든 수를 고려했기 때문이다. 시간초과 문제를 해결하기 위해서 문제에서 제한한 범위 1 2022. 2. 8. 이전 1 다음