https://www.acmicpc.net/problem/6236 코드n, m = map(int, input().split())money = [int(input()) for _ in range(n)]def chk(k): # m번 이하로 인출할 수 있는지 if k 매개 변수 탐색(Parametric Search)조건을 만족하는지 안하는지 여부로 범위를 좁혀나가는 알고리즘이다. 이 문제에서의 조건은 한 번에 인출하는 금액은 k로 제한하고 n일 동안 m번만 인출하여 생활이 가능한지 여부이다. 이 때 정확히 m번을 맞추기 위해 필요 없을 때도 인출할 수 있으므로 m번 이하로 인출 가능한지 여부만 판단하면 된다.
문제풀이/이분탐색
https://www.acmicpc.net/problem/15823 코드import sysinput = sys.stdin.readlinen, m = map(int, input().split())arr = list(map(int, input().split()))def chk(num): # Two Pointer pack = set() l, r = 0, 0 cnt = 0 while r 50점만 받을 수 있는 코드이다.Parametric Search과 Two Pointer 알고리즘을 사용했는데, Parametric Search에서 조건을 검사할 때 Two Pointer를 사용한다. bs() : Parametric Search하나의 카드 팩을 구성할 수 있는 최대 카드 수를 Parame..
1114번: 통나무 자르기 첫째 줄에 두 개의 수를 출력한다. 첫 번째 수는 가장 긴 조각의 길이이고, 두 번째 수는 그 때 처음 자르는 위치를 출력한다. 만약 가능한 것이 여러 가지라면, 처음 자르는 위치가 작은 것을 출 www.acmicpc.net 코드 l, k, c = map(int, input().split()) points = [0]+sorted(list(map(int, input().split())))+[l] pieces = [points[i+1]-points[i] for i in range(k+1)] longest = max(pieces) def chk(length): # 최대 길이 if longest > length: # 가능한 최대 길이보다 더 긴 통나무가 있는 경우 return [100..
2417번: 정수 제곱근 정수가 주어지면, 그 수의 정수 제곱근을 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 n = int(input()) s, e = 0, n ans = 0 while s
3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 코드 n = int(input()) a = sorted(list(map(int, input().split()))) x = int(input()) ans = 0 for i in range(n): s, e = i+1, n-1 while s