개발자 톡
연습문제 톡
[HSAT 5회 정기 코딩 인증평가 기출] 성적 평가
[HSAT 5회 정기 코딩 인증평가 기출] 성적 평가 -> 자꾸 런타임에러가 납니다. 고수 형님들 도와주십쇼
- 등록일
- 2023-08-09 21:06:29
- 조회수
- 516
- 작성자
- chldlr98
아래 코드에서 오답은 없지만 자꾸 런타임에러가 납니다.. 히든 테스트 케이스 20번 후반대에서 런타임에러가 나는데 왜 자꾸만 런타임에러가 나는지 고수 형님들 조언 부탁드립니다..
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split("\n");
const N = +input[0];
let score = []; // 회차 별 점수
let sum = Array.from({length: N}, () => 0); // 점수 합계
for (let i = 1; i < input.length; i ++) {
score.push(input[i].trim().split(" ").map(Number));
};
// 회차 별 등수 출력
for (let point of score) {
let dic = {};
let idx = 0;
let pointCopy = JSON.parse(JSON.stringify(point)); // 회차 별 등수 깊은 복사
point.sort((a, b) => b - a); // 점수 내림차순 정렬
for (let sc of point) {
idx += 1;
if (sc in dic === false) dic[sc] = idx;
};
let arr = [];
for (let i = 0; i < pointCopy.length; i ++) {
arr.push(dic[pointCopy[i]]);
sum[i] += pointCopy[i];
};
console.log(...arr);
};
console.log(...sum_rank());
// 최종 점수 별 등수 출력
function sum_rank() {
let sumdic = {};
let sumidx = 0;
let sumCopy = JSON.parse(JSON.stringify(sum)); // 회차 별 등수 깊은 복사
sum.sort((a, b) => b - a); // 점수 내림차순 정렬
for (let sc of sum) {
sumidx += 1;
// 점수가 존재하지 않을 때만 등수 입력
if (sc in sumdic === false) sumdic[sc] = sumidx;
};
let sumarr = [];
for (let i = 0; i < sumCopy.length; i ++) {
sumarr.push(sumdic[sumCopy[i]]);
};
return sumarr;
};
#[hsat_5회_정기_코딩_인증평가_기출]_성적_평가
#node.js