Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 4기
- Java
- 핀토스
- 스택
- 백준
- 나만무
- pintos
- 리액트
- Vue.js
- HTML
- 오블완
- Flutter
- 모션비트
- 코드트리
- corou
- 크래프톤정글
- 크래프톤 정글
- defee
- userprog
- 시스템콜
- JavaScript
- 티스토리챌린지
- 큐
- 사이드프로젝트
- TiL
- 소켓
- 자바스크립트
- 알고리즘
- 자바
- CSS
Archives
- Today
- Total
미새문지
크래프톤 정글 week07, day56 - 잔디심기, 동기화 코드 학습 중 본문
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 |