백준 이분 탐색

    [백준, BOJ 1205] 등수 구하기 (java)

    https://www.acmicpc.net/problem/1205메모리: 14,236 KB , 시간: 112 ms사용 알고리즘: 구현, 이분 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringTokenizer(b..

    [백준, BOJ 15823] 카드 팩 구매하기 (java)

    https://www.acmicpc.net/problem/15823메모리: 36,576 KB , 시간: 368 ms사용 알고리즘: 이분 탐색, 자료 구조, 매개 변수 탐색, 두 포인터import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System..

    [백준, BOJ 2805] 나무 자르기 (java)

    https://www.acmicpc.net/problem/2805메모리: 119,416 KB , 시간: 492 ms사용 알고리즘: 이분 탐색, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringToke..

    [백준, BOJ 9024] 두 수의 합 (java)

    https://www.acmicpc.net/problem/9024메모리: 231,292 KB , 시간: 2,072 ms사용 알고리즘: 정렬, 이분 탐색, 두 포인터처음엔 TreeSet으로 K - arr[i]에 해당하는 수가 있는지(contains) 검사하고,없다면 큰 수 중 가장 작은 수(higher)와 작은 수 중 가장 큰 수(lower)를 검사해서 구했었다.-> 메모리 초과 그다음 이분 탐색으로 K - arr[i]보다 작은 수 중 가장 큰 수를 구하고, 이분 탐색으로 구한 수와 그 수보다 큰 수 중 가장 작은 수를 비교하여 구했다.정답은 뜨는데, 주석 쓰고 다시 돌렸더니 메모리 초과... 같은 코드 다시 돌렸는데 또 정답약간 불안 불안한 듯.. 문제 풀고 투 포인터로 풀 수 있다는 거 알고 투 포인터..

    [백준, BOJ 2022] 사다리 (java)

    https://www.acmicpc.net/problem/2022메모리: 14,576 KB , 시간: 112 ms사용 알고리즘: 이분 탐색, 수학, 피타고라스 정리수학 공식이 적용되는 것 같은데, 적절한 공식이 떠오르지 않아 블로그를 참고했다. 공식을 대입하여, 이분 탐색으로 두 건물 사이의 거리를 오차 범위 이내에 오도록 하는 값을 찾으면 된다.이분 탐색 시작 시에 값의 범위는 0 ~ Math.min(x, y)인데, 두 건물 사이의 거리가 사다리의 길이보다 길 수는 없기 때문이다.res가 c보다 높은 곳에 위치한다면, 가운데 값을 크게 해야 더 낮은 res를 구할 수 있기 때문에 이분 탐색의 왼쪽 값을 변경해 주고res가 c보다 낮은 곳에 위치한다면, 가운데 값을 낮게 해야 더 높은 res를 구할 수 ..

    [백준, BOJ 6209] 제자리 멀리뛰기 (java)

    https://www.acmicpc.net/problem/6209메모리: 25,108 KB , 시간: 292 ms사용 알고리즘: 이분 탐색, 그리디 알고리즘, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokeniz..

    [백준, BOJ 1561] 놀이 공원 (java)

    https://www.acmicpc.net/problem/1561메모리: 15,288 KB , 시간: 168 ms사용 알고리즘: 이분 탐색, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; st = new StringToken..

    [백준, BOJ 2613] 숫자구슬 (java)

    https://www.acmicpc.net/problem/2613메모리: 14,632 KB , 시간: 144 ms사용 알고리즘: 이분 탐색, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st;..

    [백준, BOJ 16434] 드래곤 앤 던전 (java)

    https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 메모리: 54,296 KB , 시간: 712 ms 사용 알고리즘: 이분 탐색, 구현 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; stat..

    [백준, BOJ 17951] 흩날리는 시험지 속에서 내 평점이 느껴진거야 (java)

    https://www.acmicpc.net/problem/17951 17951번: 흩날리는 시험지 속에서 내 평점이 느껴진거야시험지를 12, 7, 19, 20과 17, 14, 9, 10 으로 나누면 맞은 문제 개수의 합의 최소는 50이다.www.acmicpc.net메모리: 22,880 KB , 시간: 288 ms사용 알고리즘: 이분 탐색, 매개 변수 탐색import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader b..