예제] 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;
}
'IT > Algorithm(알고리즘)' 카테고리의 다른 글
재귀함수호출(Recursion) (0) | 2023.04.16 |
---|---|
Frequency Counter2(숫자나 글자에서 반복되는 것 있는지 확인) (0) | 2023.04.10 |
Frequency Counter1(서로의 숫자 빈도수가 맞는지 확인) (0) | 2023.04.09 |
Divide and Conquer (0) | 2023.04.08 |
Sliding Window (슬라이딩 윈도우) (0) | 2023.04.08 |