이분탐색
-
[백준] 2417 - 정수 제곱근알고리즘 2023. 4. 9. 17:50
1. 문제 https://www.acmicpc.net/problem/2417 2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 2. 접근 1. 시간 제한이 0.4초여서 이분 탐색으로 풀어야 한다고 생각했다 ( 그게 아니라면 그냥 math를 쓰거나 ** 연산자를 사용하고 바로 끝낼것이다 ) 2. 0부터 주어진 n 까지를 범위로 생각해서 mid ** 2 값과 n값이랑 비교하면서 이분 탐색으로 돌리면 된다 3. 풀이 import sys input = sys.stdin.readline n = int(input()) def convert(n): return n ** 2 def binary(start, end): while start = n..
-
[백준] 1920 - 수 찾기알고리즘 2023. 4. 9. 17:41
1. 문제 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 2. 접근 1. 기본적으로 이 문제는 정렬을 통해서 ( not in ) 으로 풀 수 있을거 같지만, 이분탐색으로 풀어보겠다 ( 비슷한 문제가 이코테에 실려있어서 이분탐색도 가능함을 알 수 있었다 ) 2. 주워지는 리스트는 정렬을 통해 이분탐색의 조건을 갖춰준다 3. 우리가 암기하고 있는 이분탐색의 코드를 작성하고, 값들을 for문을 통해 ..