본문 바로가기

분류 전체보기26

백준 17836. 공주님을 구해라! 문제 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 문제풀이 모든 경로를 탐색 하면서, 그람의 유무에 따라 경로가 달라질 수 있으므로 두가지 경우를 생각해서 BFS탐색을 사용해 풀었다. Node라는 클래스는 행, 열, 탐색한 시간, 그람의 유무를 가지고 클래스로 만들었다. 방문체크는 3차원 배열 visited를 사용하였고, visited[r][c][0]은 그람을 가지고 있지 않았을 때, visited[r][c][1]은 그람을 가지고 있을 때 방문체크를 나누어서 했다. 탐색시 두가지 경우의 수를.. 2021. 12. 20.
백준 19598. 최소 회의실 개수 문제(링크) 문제 풀이 회의의 시작시간 순으로 정렬을 한 리스트와 끝나는 시간을 기준으로 한 우선순위 큐를 사용하여 풀었습니다. 먼저 정렬한 하나 씩 탐색하면서 우선순위 큐의 가장 먼저 끝나는 시간과 회의 시작 시간을 검사하여 회의 시작 시간보다 가장 먼저 끝나는 시간이 더 작거나 같으면 회의가 종료된 거기 때문에 우선순위 큐에서 빼준다. 다음 우선순위 큐에 탐색한 회의 끝 시간을 넣어 준 후 우선순위 큐에 최대 사이즈를 확인하면 최소 회의실을 구할 수 있다. 소스 코드(Java) 더보기 더보기 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; /** * 최소 회의실 개수 * https://www.acm.. 2021. 12. 20.