기본문제풀이-최솟값 구하기

Min·2021년 1월 30일
0

CodeKata

목록 보기
5/27
post-thumbnail

문제

7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.

입력설명

첫 번째 줄에 7개의 수가 주어진다.

출력설명

첫 번째 줄에 가장 작은 값을 출력한다.

입력예제

5 3 7 11 2 15 17

출력예제

2

나의 틀린 풀이

배열의 길이만큼 비교 후
첫번째 원소와 두번째 원소 비교 후
작다면 min 값에 넣었다.
에러 발생!

function solution(arr){         
    let answer, min=Number.MAX_SAFE_INTEGER;
    for(let i = 0; i < arr.length-1; i++){
        if (arr[i] < arri[i+1])
        min = arr[i]
    }
    answer = min
    return answer;

}

let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));

Number.MAX_SAFE_INTEGER

Number.MAX_SAFE_INTEGER

옳은 풀이

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));

Math를 이용한 풀이

Math.min()에는 인자 값만 들어올 수 있다.
배열을 사용하려면 spread 연산자를 사용.

function solution(arr){         
    let answer = Math.min(...arr) 
    // arr[0], arr[1], arr[2] ...
    return answer;
}

apply를 이용한 풀이

apply(this 객체, 배열)

function solution(arr){         
    let answer = Math.min.apply(null, arr)
    return answer;
}
profile
slowly but surely

0개의 댓글