[백준/Node.js] 10817번: 세 수

Jay Kim·2020년 4월 2일
0

제한 사항


문제

세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.


입력

첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)


출력

두 번째로 큰 정수를 출력한다.


예제 입력 1

20 30 10

예제 출력 1

20

예제 입력 2

30 30 10

예제 출력 2

30

예제 입력 3

40 40 40

예제 출력 3

40

예제 입력 4

20 10 10

예제 출력 4

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]);

Comment

여러 방법이 있겠지만, 나는 정렬로 풀었다.
어차피 가운데 값을 구하는 거라 오름차순, 내림차순 관계없이 정렬하는 방향으로 생각했다.
위 코드의 경우 20 30 10이 입력된다면, numbers 배열에는 [10, 20, 30]이 입력된다.


Reference

profile
minuzai

0개의 댓글