7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.
첫 번째 줄에 7개의 수사 주어진다.
첫 번째 줄에 가장 작은 값을 출력한다.
'5 3 7 11 2 15 17'
2
입력예제가 str이냐 arr이냐에 따라 문제 풀이가 달라질 수 있다. 나는 문자열을 입력받는다고 가정하고 문제를 풀었다.
문자열을 파라미터를 따라 배열로 나눠주는 메소드 split()
으로 배열로 변환 후에 정렬 메소드 sort()
를 이용해 오름차순 배열로 정리를 해줬다. 가장 첫 번째 인덱스의 요소가 최솟값이 된다. 다만 배열의 각 요소들이 문자열이기 때문에 값을 반환하기 전에 Number()
로 감싸주었다.
각 메소드는 체이닝이 가능한 JS의 특성을 이용해 작성했다.
function solution (N) {
return Number(N.split(' ').sort((a, b) => a - b)[0]);
}
const N = '5 3 7 11 2 15 17';
function solution(arr) {
let answer, min=arr[0];
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
}
answer = min;
return answer;
}
function solution(arr) {
let answer = Math.min(...arr);
return answer;
}
전개 연산자를 통해 배열을 함수의 인자로 넘겨줄 수 있다.
function solution(arr) {
let answer = Math.min.apply(null, arr);
return answer;
}
answer(this, arguments1)
this를 null로 지정하고 첫 번째 인수로 배열을 넘겨준다.