개발자 톡
연습문제 톡
[HSAT 5회 정기 코딩 인증평가 기출] 성적 평가
hashMap 사용 풀이 (js)
- 등록일
- 2025-02-05 22:36:45
- 조회수
- 48
- 작성자
- glass0620
해시맵 사용하면 시간초과 해결 가능합니다!
const fs = require('fs'); const input = fs.readFileSync(0,'utf-8').trim().split('\n'); const n = Number(input[0]); // 참가자 수(가로) // 대회 수(세로) = 3으로 고정됨 const results = input.splice(1,n); let sumList = new Array(n).fill(0); // 참가자들의 점수 총합 let gradeList = []; results.map(r => { let result = r.split(' ').map(Number); result.map((score,idx)=>{ // 총합 구하기 sumList[idx] += score; }) } ) results.push(sumList.join(" ")); // sumList는 배열이라서 문자열로 바꿔주기 results.map((res)=>{ let result = res.trim().split(' ').map(Number); let sortResult = [...result].sort((a,b)=>b-a); // 원본 유지하며 정렬 let grade = 1; let gradeMap = new Map(); // 점수&등수 쌍 for(let i=0; i<n; ++i){ if(!gradeMap.has(sortResult[i])) gradeMap.set(sortResult[i], grade); grade++; } // 각각 gradeMap 점수에 해당하는 등수 부여 let contestGrade =[]; result.map((re)=>{ contestGrade.push(gradeMap.get(re)); }) gradeList.push(contestGrade); }) for(let i=0; i<4; ++i){ let j = gradeList[i].join(" "); console.log(j); }
#[HSAT_5회_정기_코딩_인증평가_기출]_성적_평가
#js
#javascript
#nodejs