백준(실버 5) 7785번 회사에 있는 사람 (Set, List)
간단한 문제이지만 처음에 list에 넣고 풀어서 시간초과가 나왔다.
list의 경우 remove가 O(n)이 나온다. 따라서 밖에 for문이 하나 더 있으므로 O(n^2)이 나오기 때문에 시간초과가 난다. 대신 HashMap또는 HashSet을 사용한다면 시간 초과를 피할 수 있다. Set을 이용해 남아있는 사람을 구하고 list로 바꿔서 역순으로 정렬해주면 된다.
백준(실버 1) 9205번 맥주 마시면서 걸어가기 (BFS)
처음에는 출발위치-편의점또는 패스티벌 - 패스티벌 이런식으로 생각해서 나눠서 생각했는 데 틀렸다..
현재 위치 - 편의점 으로 생각 하고 만약에 갈수 있는 곳이 패스티벌위치 뿐이다 라고 생각해야 더 간단하게 생각할 수 있었다.
전형적인 BFS로 좀더 빠른 시간이 걸리면서 풀었으면 했는데..아깝다..