https://leetcode.com/problems/guess-number-higher-or-lower/description
Q. 1-n까지의 수 중 하나를 찾는(pick value) 추측게임을 한다고 할때, 추측이 pick value보다 크면 -1, 같으면 0, 추측이 크면 1을 반환하는 함수를 가지고,
답이 되는 pick value를 찾아 반환하라.
A. 내가 추측값을 어떻게 지정하느냐가 핵심. 주로 중간 값을 취하면 binary rearch를 사용할 수 있겠다.
int guessNumber_help(int left, int right)
{
if(left > right) return -1;
int mid = left + (right-left)/2;
int retGuess = guess(mid);
if(retGuess < 0) return guessNumber_help(left, mid-1);
if(retGuess == 1) return guessNumber_help(mid+1, right);
return mid;
}
int guessNumber(int n) {
return guessNumber_help(1, n);
}
'Leetcode > LeetCode75' 카테고리의 다른 글
[Binary Search][Medium] 162. Find Peak Element (1) | 2024.01.11 |
---|---|
[Binary Search][Medium] 2300. Successful Pairs of Spells and Potions (1) | 2024.01.10 |
[Heap/Priority Queue][Medium] 2542. Maximum Subsequence Score (1) | 2024.01.06 |
[Heap/Priority Queue][Medium] 2336. Smallest Number in Infinite Set (1) | 2024.01.03 |
[Heap/Priority Queue][Medium] 215. Kth Largest Element in an Array (1) | 2024.01.02 |