코딩테스트

[릿코드/문제잘보기] 744. Find Smallest Letter Greater Than Target

_서리__ 2023. 6. 9. 23:36
var nextGreatestLetter = function(letters, target) {
    if(letters.length===1) return letters[0]
    let start = 0;
    let end = letters.length-1;
    while(start<=end){
        const mid = Math.floor((start+end)/2);
        if(letters[mid]<=target){
            start = mid+1
        }else{
            end = mid-1
        }
    }
    return letters[start]||letters[0]
};

처음엔 그냥 다 돌려서 풀었는데, 문제에 non-decreasing이라고 써있었다. 비내림차순이라길래 그냥 무작위 정렬인줄 알았는데,

1,1,2,3 뭐 이런걸 비내림차순이라고 한다고 한다. 이진트리로 다시 풀었다!