배열 요소의 최댓값 제거하기
문제 설명
주어진 배열에서 최댓값을 찾아서 제거하는 함수를 작성해야 합니다.
해결 방법
- 우선 주어진 배열에서 최댓값을 찾습니다. 이를 위해 반복문을 사용하여 배열의 모든 요소를 순회하면서 현재까지 확인한 요소들 중 가장 큰 값을 저장합니다.
- 최댓값을 찾은 후, 배열을 순회하면서 최댓값과 일치하는 요소들을 모두 제거합니다. 이를 위해 새로운 배열을 만들거나, 기존 배열을 수정하는 방법 중 하나를 선택할 수 있습니다.
function removeMax(arr) {
// 최댓값 초기화
let max = arr[0];
// 최댓값 찾기
for (let i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
// 최댓값 제거
for (let i = 0; i < arr.length; i++) {
if (arr[i] === max) {
arr.splice(i, 1);
i--; // 요소를 제거하면 배열의 길이가 줄어들기 때문에 인덱스를 하나 감소시켜야 함
}
}
return arr;
}
사용 예시
const numbers = [1, 3, 2, 6, 4, 9, 5];
const result = removeMax(numbers);
console.log(result); // [1, 3, 2, 4, 5]
해당 예시에서는 배열 [1, 3, 2, 6, 4, 9, 5]
에서 최댓값 9를 제거한 후, [1, 3, 2, 4, 5]
가 반환됩니다.
마무리
이와 같이 최댓값을 찾아 배열에서 제거하는 방법을 간단하게 알아보았습니다. 이 방법을 응용하여 다양한 배열 조작을 할 수 있으며, 이러한 유형의 문제를 풀 때 유용하게 사용될 수 있습니다.
(#)programming (#)javascript