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
- 크래프톤정글
- 자바
- 오블완
- 백준
- 자바스크립트
- userprog
- 스택
- CSS
- HTML
- 코드트리
- 핀토스
- 4기
- 사이드프로젝트
- 시스템콜
- 소켓
- 모션비트
- 큐
- TiL
- 크래프톤 정글
- Java
- 티스토리챌린지
- 나만무
- defee
- 리액트
- 알고리즘
- JavaScript
- corou
- pintos
- Flutter
- Vue.js
Archives
- Today
- Total
미새문지
크래프톤 정글 week07, day57 - 잔디심기, 바이너리 세마포어로 alarm_sleep 진행 중 본문
728x90
오늘의 잔디심기
백준
|
17204
|
자바스크립트
|
실버3
|
죽음의 게임 |
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
const TheGameOfDeath = (N, K) => {
const order = [];
for(let i = 1; i <= N; i++) {
order.push(Number(input[i].replace(/\r/g, '')));
}
let death = 0;
let count = 0;
let visited = Array(N).fill(0);
while(true) {
if(death === K) {
console.log(count);
break;
}
if(visited[death]) {
console.log(-1);
break;
}
visited[death] = 1;
death = order[death];
count++;
}
}
const [N, K] = input[0].split(" ").map(Number);
TheGameOfDeath(N, K);
처음 입력값을 받아올 때 for문 대신 "const order = input.slice(1).map(Number);" slice함수를 사용해서 특정 인덱스를 시작으로 입력값을 한번에 받아올 수 있다. 코드 줄이기 가능
오늘 재희님이 예비군 훈련을 가서 강민님이랑 열심히 대가리 박고 있다. pintOS에 사용된 바이너리 세마포어로 release를 사용해 기존 쓰레드를 잠금 해제하고 다음 쓰레드 할당과 acquired로 다시 잠금해 쓰레드 관리를 하려했는데 무한 실패 후 정신이 나가는 중.
내일 교수님의 강의가 있어 오늘 최대한 박아보면 내일 좀 더 얻는게 있지 않을까 하여 열심히 하고 있다.
재희 강민 성준 레츠고
학습 시간 : 10 ~ 25시
728x90
'크래프톤 정글 > TIL' 카테고리의 다른 글
크래프톤 정글 week07, day59 - 잔디심기, alarm-simultaneous 구현 (1) | 2024.03.07 |
---|---|
크래프톤 정글 week07, day58 - demand paging, TLB, 추상화 디자인, 잔디심기 (1) | 2024.03.05 |
크래프톤 정글 week07, day56 - 잔디심기, 동기화 코드 학습 중 (1) | 2024.03.03 |
크래프톤 정글 week07, day55 - 4BSD, Nice, Busy Waiting, 잔디심기 (3) | 2024.03.03 |
크래프톤 정글 week07, day53 - CPU 스케줄링 알고리즘, 잔디심기 (6) | 2024.03.01 |