const readline = require('readline');
let rl = readline.createInterface({
input : process.stdin,
output : process.stdout,
});
let input;
rl.on('line', function (line) {
input = line.split(' ').map(v => +v);
}).on('close', function () {
solution(input);
process.exit();
});
function solution(RandomNum){
const num = [...RandomNum];
const setNum = new Set();
const duplicationNum = num.filter(item => {
if(setNum.has(item)) return item;
else setNum.add(item);
})
if(setNum.size === 1) console.log(10000 + duplicationNum[0] * 1000);
else if(setNum.size === 2) console.log(1000 + duplicationNum[0] * 100);
else console.log(Math.max(...setNum) *100);
}
왜 이런 식으로 풀이했는지 이유
1. 처음에는 fs모듈로 입력을 받아와서 만들었는데, 다른 문제들에서 에러적인 문제도 있고, readline모듈로 입력을 받아오면, 좀 더 다양한 메서드를 사용할 수 있어서 readline모듈로 작성했다.
2. 최대한 메서드, 프로퍼티를 이용해서 만든 이유는 알고리즘을 풀면서, 다양한 메서드, 프로퍼티를 익숙하게 만들기 위해서이다.
알고리즘을 풀면서 고민되는 점
다른 분들이 작성하신 정답을 보면 메서드, 프로퍼티를 나처럼 많이 이용하시지 않았는데, 내가 작성한게 정답은 맞지만 알고리즘을 푸는 방식으로는 틀렸는가?에 대해서 고민이 많아진다...