아직 계정이 없으신가요? 회원가입

Dev. Talk

[HSAT 5회 정기 코딩 인증평가 기출] 성적 평가 -> 자꾸 런타임에러가 납니다. 고수 형님들 도와주십쇼

회원사진chldlr98
97 views2023-08-09 21:06

아래 코드에서 오답은 없지만 자꾸 런타임에러가 납니다.. 히든 테스트 케이스 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 ;
};