[BOJ 11663: 선분 위의 점] 문제 바로가기❓문제 설명첫째 줄의 N은 점의 개수, M은 선분의 개수이다.두 번째 줄은 N개의 점 위치이고, 세 번째 줄부터 M개의 줄은 선분의 시작점과 끝점이 공백을 기준으로 입력된다.각 선분에 몇 개의 점이 포함되어 있는지 출력하면 되는 문제.ex) 선분 1-10 안에는 점 1, 3, 10이 존재하므로 3 출력❗️문제 풀이이분 탐색을 통해 주어진 선분 내에 들어올 수 있는 점을 찾았다.이때 주의해야 할 점은 시작점과 끝점을 각각 다르게 구해야 한다는 것이다.private static int binarySearch(long start, int check){ // check에 숫자를 담아 최저점을 찾는지, 최고점을 찾는지 int left = 0;..
[BOJ 1654: 랜선 자르기] 문제 바로가기이미 몇 달 전 파이썬으로 풀어본 문제라 문제 설명은 생략!그 때와 같이 while문을 활용해 이분탐색을 수행했다.문제는 자료형을 long으로 맞춰줘야 주어진 랜선 길이까지 모두 계산이 가능하다.이를 알지 못해 int로 계속 제출을 시도했고, 틀렸다는 결과를 받았다.import java.io.*;import java.util.*;public class jan_14th { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokeni..
[BOJ 2776: 암기왕] 문제 바로가기❓문제 설명❗️문제 풀이첫째 줄엔 테스트 케이스의 개수,두 번째 줄과 네 번째 줄은 각각 수첩 1에 적혀있는 정수 N, 수첩 2에 적어놓은 정수 M이 들어온다.세 번째 줄과 다섯번째 줄은 각각 N개의 정수, M개의 정수가 공백을 기준으로 입력된다. 처음 문제를 풀 때, 몇 가지 실수를 해 시간초과가 발생했다.while (T > 0){ T--; int N = Integer.parseInt(br.readLine()); int[] nums_1 = new int[N]; StringTokenizer st_1 = new StringTokenizer(br.readLine()); ..