1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제 푸는 방법을 잘 모르겠어서 시간이 오래 걸렸던 문제. 문제푸는 방법만 알면 간단하게 풀 수 있었다. 풀이 방법 우선 멀티탭에 전기용품을 꼽는다. 순서대로 전기용품을 shift()한다. 멀티탭에 꽂혀있는 물건이 아니라면, 물건을 하나 골라서 플러그를 빼야한다. 플러그 빼는 물건은 가장 늦게 쓰이거나, 나중에 쓰이지 않는 물건의 플러그를 빼야한다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin..
11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si v.split(" ").map(Number)..
2457번: 공주님의 정원 첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, www.acmicpc.net 첫 번째 시도 꽃이 지는 순서대로 정렬을 한 이후. 완전탐색으로 문제를 풀었다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const N = +input.shift() const data = input.map(v => { const tempArr = v.split(" ") for(let i=0; i a[1]-b[1..
1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 첫 번째 시도 BFS에 길이가 2인 배열을 만들고, knight 움직임으로 갈 수 있는지 여부를 0번째 인덱스에, 정점에 도달하는데 걸리는 최소 횟수를 1번째 인덱스에 넣어서 풀었다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n"); const K = +input.shift(); const [W, H] = input.shi..
https://www.acmicpc.net/problem/2573 Bfs함수를 따로 만들고, 시간이 한번 지날때 바뀌는 빙산의 모양을 만드는 nextYear함수를 따로 만들어서 공략했습니다. 함수를 따로 만들면 이해하기가 쉽습니다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const [N,M] = input.shift().split(" ").map(Number) let iceberg = input.map(v => v.split(" ").map(Number)) const next = [[1,0],[-1,0],[0,1],[0,-1]] let count = 0 while(true..
첫 번째 풀이 DFS + DP 풀이로 접근하면 해결되지 않을까 생각하고 풀었다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim() .split("\\n"); const T = +input.shift(); class Next{ constructor(){ this.obj = {} } push(X,Y){ if(this.obj[X] === undefined){ this.obj[X] = {before : [], after : []} } this.obj[X].after.push(Y) if(this.obj[Y] === undefined){ this.obj[Y] = {before : [], after : []} } th..