교내 경시대회 결과가 오름차순으로 정렬된 점수 배열 scores로 주어집니다. 같은 점수를
받은 학생이 여럿 있을 수 있으므로 배열에는 중복 값이 들어 있습니다.
시상식 진행을 위해 특정 점수 target을 받은 학생들이 배열의 어느 구간에 몰려 있는지
알아내려 합니다. target을 받은 학생이 한 명 이상이면 그 구간의
[첫 번째 인덱스, 마지막 인덱스]를, 한 명도 없으면 [-1, -1]을 반환하는
solution(scores, target) 함수를 작성하세요.
scores의 길이가 매우 클 수 있으므로 처음부터 끝까지 훑는 방식으로는 통과할 수 없습니다.
| scores | target | 결과 |
|---|---|---|
[10, 20, 20, 20, 35, 40, 40] |
20 |
[1, 3] |
[10, 20, 20, 20, 35, 40, 40] |
40 |
[5, 6] |
[10, 20, 20, 20, 35, 40, 40] |
30 |
[-1, -1] |
예시 1 설명: 20점은 인덱스 1, 2, 3에 있으므로 [1, 3]입니다.
예시 3 설명: 30점을 받은 학생이 없으므로 [-1, -1]입니다.
0 ≤ scores.length ≤ 200,0000 ≤ scores[i] ≤ 1,000,000, 0 ≤ target ≤ 1,000,000scores는 오름차순으로 정렬되어 있으며 중복 값이 있을 수 있습니다.number[]입니다.시간 복잡도 목표: O(log n)
▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.