728x90
오늘의 잔디심기
백준
|
24509
|
자바스크립트
|
실버5
|
상품의 주인은? |
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
const itemMaster = (N) => {
const studentScore = [];
const item_master = [];
for(let i = 1; i <= N; i++) {
let score = input[i].split(" ").map(Number);
studentScore.push(score);
}
for(let j = 1; j <= 4; j++) {
studentScore.sort((a, b) => {
if (b[j] !== a[j]) {
return b[j] - a[j];
} else {
return a[0] - b[0];
}
});
for(let k = 0; k < N; k++) {
if (!item_master.includes(studentScore[k][0])) {
item_master.push(studentScore[k][0]);
break;
}
}
}
console.log(item_master.join(' '));
}
let N = Number(input[0]);
itemMaster(N);
처음에 각 과목별 1등을 출력하는 줄 알고 바로 코드를 작성했는데 확인해보니 1등을 한 사람이 또 1등을 하면 그 다음 점수가 높은 사람을 출력하는 문제였다. 오름차순으로 정렬시켜 점수가 같으면 고유번호가 빠른 학생을 우선시했다.
1등을 찾으며 for문을 하다 더 사용해 1등을 하지않은 사람을 찾는다.
오늘은 오전 중에 빨래 하고 밖에서 점심을 먹고 들어왔다. 와서 잔디 하나 심고 pintOS 동기화 코드 안에 있는 세마포어와 뮤텍스를 학습하며, 열심히 코드에 대해 토론했다. 각 코드 파일마다 정적 변수들이 있어서 너무 헷갈린다.
학습 시간 : 16 ~ 23시
728x90
'크래프톤 정글 > TIL' 카테고리의 다른 글
크래프톤 정글 week07, day58 - demand paging, TLB, 추상화 디자인, 잔디심기 (1) | 2024.03.05 |
---|---|
크래프톤 정글 week07, day57 - 잔디심기, 바이너리 세마포어로 alarm_sleep 진행 중 (4) | 2024.03.05 |
크래프톤 정글 week07, day55 - 4BSD, Nice, Busy Waiting, 잔디심기 (3) | 2024.03.03 |
크래프톤 정글 week07, day53 - CPU 스케줄링 알고리즘, 잔디심기 (6) | 2024.03.01 |
크래프톤 정글 week06, day52 - Tiny Server Code, 잔디심기 (2) | 2024.02.29 |