목록코딩테스트준비 (54)
원하는 것은 뭐든지
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. n x n 크기의 방이 검은색, 흰색으로 채워져 있다.2. 검은색은 지나갈 수 없다.3. 0,0에서 n-1, n-1까지 가야 한다.4. 검은 방을 최소로 지나도록 하려고 한다.5. 최솟값을 출력해라문제 풀이1. 최단거리문제이므로 BFS를 사용한다.2. 지나가면서 검은 방을 만나면 부시고 개수를 세고 기록한다.3. 모든 경로를 탐색하고 도착지점에 최솟값이 저장되었으므로 그곳의 값을 출력한다.소스코드package online.judge.baekjoon;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import j..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. n x m 크기의 미로가 주어진다.2. xy에서 rc로 이동해야 한다.3. 총 이동거리는 k가 되어야 한다.4. 같은 곳을 여러 번 방문해도 된다.5. 여러 경로가 있을 때 사전순으로 가장 앞에 위치한 것이 정답이다.6. 탈출 할 수 없다면 impossible을 출력한다.틀린 풀이1. 이동하는 모든 경로를 탐색한다. dfs2. dfs 탈출 조건은 k만큼 전부 이동하였을 때 탈출 위치에 있다면 왔던 경로 넣어줌3. 정렬해서 출력문제 풀이1. 먼저 갈 수 있는 위치인지 확인함2. 가야 할 거리가 정해져 있는 거리보다 길면 절대 못 감 impossible 출력3. 두 개가 같다면 갈 수 있음4. 정해져 있는 거리가 더 길때는 ..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제 풀이문제 해석1. N x M 크기의 미로가 있다.2. 각 칸의 아래에 방향이 있고 그 방향으로만 움직일 수 있다.3. 미로밖으로 나가게 되면 탈출이다.4. 방향이 루프를 만들면 그 안에 비용이 최소가 되도록 점프대를 설치해서 미로를 탈출하게 한다.5. 어느 곳에서 출발해도 탈출이 가능하도록 점프대 설치 최소 비용을 출력해라.문제 풀이1. DFS 문제라고 판단했다.2. 각 좌표 반복문을 실행한다.3. 방문 이력이 없으면 dfs알고리즘을 탄다.4. 스택에 초기 출발지점을 넣어주고 지나온 길을 저장할 리스트를 선언한다.5. 미로를 벗어났거나 이미 방문완료 했던 곳에 닿으면 지나간 리스트를 비우고 방문 완료한다.6. 만약 지나왔던 길을 다시 만..
문제 풀이 예상 시간보다 지나가면 다른 해석을 보고 있습니다. 문제풀이문제 해석1. 도넛, 막대, 8 자 모양의 그래프들이 여러 개 있다.2. 이 그래프 사이에 한 정점을 넣고 그 정점과 그래프의 어떤 정점과 모두 연결한다.3. 전체로 이어진 그래프에 무작위로 값을 넣는다. 1~1,000,0004. 들어간 정점의 번호와 각 그래프의 개수를 구하라5. 모든 그래프의 수는 두개 이상이다.문제 풀이1. 각 그래프의 특성을 알아야 한다.2. 도넛그래프는 무조건 한개씩의 in과 out을 가진다.3. 막대그래프는 마지막 정점은 out이 없다.4. 8자 그래프는 두 개의 도넛그래프를 이어주는 두 개의 in, out을 가지는 정점이 하나 있다.5. 삽입 정점은 in은 없고 out이 두 개 이상이다.6. 주의 할 점은 ..