IT/Algorithm(알고리즘)
Multiple Pointers(여러개 포인터) - averagePair
AsianDude
2023. 4. 17. 22:52
예제] averagePair라는 함수를 만드십시오. 정수가 들어간 배열과 옆에 맞출 숫자를 넣고, 배열에 있는 두 숫자의 합의 평균이 맞출 숫자랑 값이 같는 경우 True로 반환하고 아니면 False로 반환하시오. (맞출숫자가 배열에 2개 이상이어도 됩니다.)
시간복잡도: O(N)
공간복잡도: O(1)
해답
function averagePair(arr, num){
if(arr.length === 0){
return false
}
arr.sort()
let start = 0;
let end = arr.length - 1;
while(start < end) {
let avg = ((arr[start] + arr[end]) / 2)
if(avg === num){
return true;
} else if(avg < num){
start++;
} else {
end--;
}
} // While문 끝
return false;
}