Q. findSmallestElement 함수를 구현해 주세요.
findSmallestElement 의 arr 인자는 숫자 값으로만 이루어진 array 입니다.
array 의 값들 중 가장 작은 값을 리턴해주세요. 만일 array가 비어있으면 0을 리턴해주세요.
예를 들어, 다음과 같은 array이 인자(input)으로 들어왔다면:
[20, 200, 23, 1, 3, 9]
1이 리턴되어야 합니다.
지난 주 여러가지 반복문을 공부했는데
for 반복문을 사용해서 해결하니 뿌듯하다. :)
function findSmallestElement(arr) {
if (arr.length === 0) {
return 0; //빈 배열이면 0을 리턴한다.
} else {
let min = arr[0]; // 가상의 최솟값을 설정한다.
for (let i = 1; i < arr.length; i++) {
if (arr[i] < min) {
min = arr[i]; // 반복문을 돌면서 최솟값을 찾는다.
}
}
return smallest;
}
}
findSmallestElement([20, 200, 23, 1, 3, 9])
//1을 리턴한다! ;
배열이 비어있는 경우 0을 반환한다. 그렇지 않은 경우 배열에서 가장 작은 값을 찾기 위해 배열의 길이만큼 반복문을 실행한다.
min 이라는 변수를 가상의 최솟값으로 설정한다.
그 가상의 최솟값과 각 배열의 원소를 비교한다. 배열의 모든 요소를 반복하며 현재까지의 가장 작은 값을 저장한다.
let min = arr[0] 이라고 초기값 설정하는 부분에서 막혔는데 비슷한 패턴의 반복문을 한번 공부하고 나니 해결하기 쉬워지는 것 같다.