Skip to content
On this page

최솟값 찾기

수정하기
문서 생성 2021-04-25 08:34:57 최근 수정 2021-04-25 08:35:08
On this page

문제

  • 입력받은 수들 중 가장 작은 값 찾기

풀이

function solution(a, b, c){
let answer;
if(a<b) answer=a;
else answer=b;
if(c<answer) answer=c;
return answer;
}
console.log(solution(2, 5, 1));
// 세 수를 배열로 받았을 경우
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER;
for(let i=1; i<arr.length; i++){
if(arr[i]<min) min=arr[i];
}
answer=min;
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));

처음 시도했던 방법

  • 그냥 if문을 엄청 때려박았었다. 하지만 문제를 분해하면 더 간편한 것이었다. 우선 a와 b를 비교한 뒤에 나온 값과 다시 c를 비교하는 것. 두 가지로 분해가 가능했다.

다른 풀이

  • 위의 풀이는 Math.min() 함수를 사용하지 않고 풀이하는 방법이다. 해당 함수를 사용하면 매우 간단하다.
function solution(a, b, c){
let answer = Math.min(a, b, c);
return answer;
}
console.log(solution(2, 5, 1));
// 배열을 받았을 때
function solution(arr) {
let answer = Math.min(...arr)
return answer;
}
let arr = [9, 3, 7, 11, 2, 15, 17]
console.log(solution(arr));
  • 배열을 받았을 때는 [[전개 구문]]을 이용한다.