안녕하세요! 오늘은 자바스크립트로 구현할 수 있는 코딩 테스트 문제 중 하나인 ‘최솟값 찾기’에 대해 알아보겠습니다. 이 글에서는 문제 설명, 해결 과정, 그리고 최적화 방법까지 다룰 예정입니다. 기본적인 알고리즘 이해를 돕기 위해 많은 예제와 코드를 활용할 것입니다. 그럼 아자아자 시작해 보겠습니다!
문제 설명
주어진 정수 배열에서 최솟값을 찾아 반환하는 함수를 작성하시오. 배열의 길이는 1 이상 100 이하이며, 각 요소는 -1,000 이상 1,000 이하의 정수입니다.
입력
[5, 3, 8, 1, 6]
출력
1
조건
- 배열은 비어 있지 않습니다.
- 배열의 길이는 1 이상 100 이하입니다.
- 출력할 최솟값을 1회만 반환합니다.
해결 과정
이 문제는 주어진 배열에서 최솟값을 찾는 간단한 문제입니다. 이를 해결하기 위한 방법으로는 여러 가지가 있지만, 가장 기본적인 방법은 반복문을 사용하여 배열을 순회하며 최솟값을 찾는 것입니다.
1단계: 배열 설정
우선 배열을 설정해 봅시다. 예를 들어, const numbers = [5, 3, 8, 1, 6];
와 같이 설정할 수 있습니다.
2단계: 최솟값 초기화
최솟값을 찾기 위해 우선 첫 번째 요소를 최솟값으로 초기화할 수 있습니다. 즉, let min = numbers[0];
와 같이 설정합니다.
3단계: 반복문으로 최솟값 찾기
배열의 두 번째 요소부터 시작하여 배열의 모든 요소를 순회하며 현재 최솟값보다 작은 요소가 있는지 비교합니다. 만약 현재 요소가 더 작다면, 최솟값을 업데이트합니다.
4단계: 최솟값 반환
모든 요소를 순회한 후, 최종적으로 찾은 최솟값을 반환합니다. 이 과정을 실제 코드로 구현해 보겠습니다.
코드 구현
function findMinimum(numbers) {
let min = numbers[0]; // 첫 번째 요소로 초기화
for (let i = 1; i < numbers.length; i++) { // 두 번째 요소부터 시작
if (numbers[i] < min) {
min = numbers[i]; // 현재 요소가 최솟값보다 작으면 업데이트
}
}
return min; // 찾은 최솟값 반환
}
const numbers = [5, 3, 8, 1, 6];
console.log(findMinimum(numbers)); // 1
최적화 방법
위의 방법은 매우 직관적이고 간단하지만, 최적화를 할 수 있는 방법도 있습니다. 예를 들어, 자바스크립트의 Math.min()
함수를 사용하면 보다 간결하게 최솟값을 구할 수 있습니다. 아래와 같은 방법으로 사용할 수 있습니다.
const numbers = [5, 3, 8, 1, 6];
const min = Math.min(...numbers); // 전개 연산자를 사용하여 배열을 인수로 전달
console.log(min); // 1
결론
오늘은 자바스크립트를 이용해 정수 배열에서 최솟값을 찾는 방법에 대해 자세히 알아보았습니다. 기본적인 반복문을 이용한 방법 외에도 Math.min()
함수를 활용한 최적화 방법도 소개하였습니다. 이러한 문제는 코딩 테스트에서 자주 출제되므로 충분히 연습해 두는 것이 좋습니다.
추가적으로, 다양한 유형의 최솟값 찾기 문제에 도전하면서 알고리즘에 대한 깊이 있는 이해를 쌓아보세요. 다음 강좌에서는 다른 알고리즘 문제에 대해 다룰 예정이니 많은 기대 부탁드립니다. 감사합니다!