728x90
문제
풀이
정렬 알고리즘을 이용해 구현하는 문제이다.
input으로 주어지는 주가와 개수, 입력이 들어오는 데로 정해지는 회사 번호를 이용해 정렬을 진행해준다.
조건은 평가 금액(주가 * 개수)을 기준으로 하며 평가 금액이 같은 경우 회사 번호를 기준으로 정렬한다.
그리고 이 문제는 Javascript만 그런지 모르겠지만, 문제 제출 시 process.exit()를 없애니 잘 됬다.
코드
// Run by Node.js
const readline = require('readline');
(async () => {
let rl = readline.createInterface({ input: process.stdin });
let input = [];
let t = null;
for await (const line of rl) {
if(t === null) t = +line
else{
input.push(line);
if(input.length === t){
let answer = '';
const arr = input.map((e, i) => {
const [v, c] = e.split(' ');
return [Math.floor(+v * +c * 10) / 10, i + 1];
});
arr.sort(([a, i1], [b, i2]) => {
if(a > b) return -1;
else if(a < b) return 1;
else {
return i1 - i2;
}
})
arr.forEach(([_, i]) => answer += `${i} `);
console.log(answer.trim());
rl.close();
}
}
}
})();
728x90
'코딩 테스트 > 구름 Goorm' 카테고리의 다른 글
[Node.js] 구름 level 2_어려운 문제 (0) | 2024.06.17 |
---|---|
[Node.js] 구름 level 2_계수기 만들기 (0) | 2024.06.16 |
[Node.js] 구름 level 2_완벽한 햄버거 만들기 (0) | 2024.06.15 |
[Node.js] 구름 Level 3_ 단풍나무 (0) | 2024.06.15 |
[Nodejs] 구름_사은품 교환하기 (0) | 2024.06.13 |