99클럽 코테 스터디 3일차 TIL + 오늘의 학습 키워드

윤휘영·2025년 1월 15일
0

1. 오늘의 학습 키워드

백준 11663-선분 위의 점(상한, 하한)

2. 공부한 내용 본인의 언어로 정리하기

//상한
static int lb(int x, int[] arr){
        int l = 0, r = arr.length -1, idx = arr.length;
        while(l <= r){
            int m = (r + l) / 2;
            if(arr[m] >= x){
                r = m - 1;
                idx = Math.min(idx, m);
            }
            else l = m + 1;
        }
        return idx;
    }
//하한
static int ub(int x, int[] arr){
        int l = 0, r = arr.length -1, idx = arr.length;
        while(l <= r){
            int m = (l + r) / 2;
            if(arr[m] > x){
                r = m - 1;
                idx = Math.min(idx, m);
            }else l = m + 1;
        }
        return idx;
    }

3. 오늘의 회고

3.1 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  • 단순 이분 탐색을 하면 시간 초과가 나는 문제였습니다. n, m 범위가 10만이므로 이중 for문을 돌리면 거기서부터 이미 시간 초과가 나기 때문입니다.

3.2 어떻게 해결했는지

  • 범위 질의이므로 상한, 하한을 사용하여의이므로 상한, 하한을 사용하여 풀었습니다.

3.3 무엇을 새롭게 알았는지

  • (상한-하한)의 값은 배열 내 원소의 수이며, 원소가 존재하지 않는다면 두 값은 같습니다.

3.4 내일 학습할 것은 무엇인지

  • 오늘 풀었던 문제를 다시 풀어보고, 삼성 기출을 풀 예정입니다.

0개의 댓글