[알고리즘] 기초 문제 풀이 - 세 수 중 최솟값

인프런 자바스크립트 알고리즘 문제풀이

세 수 중 최솟값

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


▣ 입력설명
첫 번째 줄에 100이하의 세 자연수가 입력된다.
▣ 출력설명
첫 번째 줄에 가장 작은 수를 출력한다.
▣ 입력예제 1
6 5 11
▣ 출력예제 1
5


대학교 1학년때 많이 풀어봤던 문제 종류이다. 단순히 세 숫자를 비교하면된다. 나는 리턴되는 최솟값 answer를 임의로 인자 a라고 하였고, 이후 if문이 당연하게 생각났지만 일부러 삼항연산자를 사용해보았다.

내 풀이

function solution(a, b, c) {
  let answer = a;
  a < b ? (answer = a) : (answer = b);
  answer < c ? (answer = answer) : (answer = c);
  return answer;
}

흠, 삼항연산자를 중첩해두면 코드가 복잡해보일까봐 두줄에 나눠서 썼는데 이것도 복잡해보인다. 이런 경우에는 단순하게 if문을 사용하는 방향도 좋아보인다.

강사님 풀이

function solution(a, b, c) {
  let answer;
  if(a < b) answer = a;
  else answer = b;
  if(c < answer) answer = c;
  return answer;
}

좋은 웹페이지 즐겨찾기