JS 알고리즘 문제풀이

세 수 중 최솟값

trophy98 2023. 9. 23. 15:47

100이하의 자연수 A,B,C를 입력받아 세 수 중 가장 작은 값을 출력하는 프로그램을 작성하세요.(정렬을 사용하면 안됩니다.)

 

💬 입력설명

첫 번째 줄에 100이하의 세 자연수가 입력된다.

 

🟢 출력설명

첫 번째 줄에 가장 작은 수를 출력한다.

 

◻︎ 입력예제 1

 6 5 11

 

◻︎ 출력예제 1 

5

 

↪️ 기존 풀이

 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(a,b,c) {
    let answer = Math.min(a,b,c)
   
    return answer;
}

console.log(solution(4,5,11))

 

js의 내장 객체 Math.min을 사용하여 세 숫자 중 최솟값을 구하였습니다. 물론 두 함수 모두 시간 복잡도 O(1)을 가지고 있지만 조건문을 사용하여 answer의 값을 결정할 때 고려해봐야 할 점은 후에 비교해야 할 변수가 늘어가면 코드가 길어질 수 있습니다. 하지만 Math.min을 사용하면서 여러 개의 인자를 받을 수 있으므로 확장성 부분에서 좋다고 생각하여 풀었습니다.