백준 1374 강의실
https://www.acmicpc.net/problem/1374
풀이: https://github.com/fancyers/coding-test/blob/main/%EA%B0%95%EC%9D%98%EC%8B%A4.js
최소 힙을 이용해서 문제를 풀었다. 현재 진행 중인 강의 중에 가장 빨리 끝나는 강의가 끝난다면, 이후 진행되는 강의 중 시작 시간이 가장 빠른 강의는 해당 강의실에서 진행할 수 있을 것이다.
백준 8911 거북이
https://www.acmicpc.net/problem/8911
풀이: https://github.com/fancyers/coding-test/blob/main/%EA%B1%B0%EB%B6%81%EC%9D%B4.js
stack을 이용해서 구현하는 것이 깔끔한 것 같다.
function dfsStack(graph, startNode) {
const toVisit = []
const visited = []
toVisit.push(startNode)
while (toVisit.length) {
const curNode = toVisit.pop()
visited.push(curNode)
for (const adjacentNode of graph[curNode]) {
if (!visited.includes(adjacentNode)) {
toVisit.push(adjacentNode)
}
}
}
return visited
}