세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
두 번째로 큰 정수를 출력한다.
20 30 10
20
30 30 10
30
40 40 40
40
20 10 10
10
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');
let numbers = [];
input.forEach(function(value) {
numbers.push(Number(value));
});
for (let i = 0; i < 3; i++) {
for (let j = i + 1; j < 3; j++) {
if (numbers[i] > numbers[j]) {
let temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
}
}
}
console.log(numbers[1]);
여러 방법이 있겠지만, 나는 정렬로 풀었다.
어차피 가운데 값을 구하는 거라 오름차순, 내림차순 관계없이 정렬하는 방향으로 생각했다.
위 코드의 경우 20 30 10이 입력된다면, numbers 배열에는 [10, 20, 30]이 입력된다.