Algorithm/JavaScript

[basics] 3개의 숫자 중 최솟값 구하기

_sweep 2021. 12. 5. 13:58

자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.

 

📋 문제

100 이하의 자연수 3개를 입력받고 그중 제일 작은 값 출력하기

 

 

👉 입력

3개의 자연수가 입력됨

 

 

👈 출력

3개의 자연수 중 최솟값 하나 출력

 

 

📝 풀이

 

<script>
    function solution(a, b, c) {
      let answer = Number.MAX_SAFE_INTEGER;
      for(const num of [a, b, c]) answer = answer > num ? num : answer;
  
      return answer;
    }

    console.log(solution(6, 5, 11));
</script>

 

answer라는 변수에 Number.MAX_SAFE_INTEGER를 이용해 안전한 최대 정수값(2^53 - 1)을 저장한다.

이후 입력받은 수들을 순회(num)하며 값을 비교해 가장 작은 값을 answer에 저장한다.

 

내가 풀었을 때는 이렇게 풀었는데 다른 답으로는 아래의 답도 있다.

 

<script>
    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(6, 5, 11));
</script>

 

어차피 입력이 세 개밖에 없으니 이렇게 풀어도 될 것 같다.

이걸 보니 1학년 때가 생각나기도 하고...