분류 전체보기
-
백준 13424번 비밀 모임(자바) - 플로이드 워셜코딩테스트 2023. 1. 25. 17:42
13424번: 비밀 모임 (acmicpc.net) 13424번: 비밀 모임 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 방 www.acmicpc.net 비밀 모임 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 1935 999 760 51.456% 문제 해리와 친구들은 엄브릿지의 감시를 피해 어둠의 마법 방어술을 연습하기 위한 비밀 모임을 하려고 한다. 그들은 아무도 모르게 모임의 장소를 전달하기 위해 가짜 갈레온을 사용하는데, 해리가 자신의 가짜 갈레온에 모임의 장소를 적으면 친구들이 가진 가짜 갈레온에 해리가 적은 장소가 나타난다. 해리가 다..
-
백준 1261번 알고스팟(자바) - bfs(우선순위큐)코딩테스트 2023. 1. 25. 15:58
1261번: 알고스팟 (acmicpc.net) 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 최단 경로가 아니라 벽을 가장 적게 부신 경로를 찾아야 하므로 벽을 부신 횟수에 따라 우선순위큐에 집어 넣어 bfs를 실행한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; class Room implemen..
-
백준 18223번 민준이와 마산 그리고 건우(자바) - 다익스트라코딩테스트 2023. 1. 25. 14:37
민준이와 마산 그리고 건우 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 1780 913 714 50.674% 문제 종강을 맞은 민준이는 고향인 마산으로 내려갈 계획을 짜고 있었다. 늘 그랬듯, 마산으로 갈 버스를 예약하려던 순간 민준이는 집으로 가는 다른 방법이 떠올랐다. 그것은 직접 지도를 보고 고향으로 가는 가장 짧은 길을 찾는 것이다. 그때, 먼저 고향으로 내려갔던 친구인 건우에게 연락이 왔다. 건우는 고향으로 내려가던 중 알 수 없는 일에 휘말려 외딴곳에 혼자 남겨지게 되었다. 건우는 유일한 구세주인 민준이에게 도움을 청한 것이었다. 그러나 마산의 남자인 민준이에게는 마산이 먼저였다. 민준이는 처량한 건우를 무시한 채 고향으로 떠나려고 했지만, 만약 고향으로 가는 길에 건우가..
-
백준 2164번 카드2(자바) - 큐, 재귀코딩테스트 2023. 1. 19. 17:53
카드2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 (추가 시간 없음) 128 MB 69658 35809 29210 51.434% 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 ..
-
백준 20437번 문자열 게임2(자바) - 투포인터#코딩테스트 2023. 1. 19. 16:38
문자열 게임 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 1024 MB 2497 1088 801 42.629% 문제 작년에 이어 새로운 문자열 게임이 있다. 게임의 진행 방식은 아래와 같다. 알파벳 소문자로 이루어진 문자열 W가 주어진다. 양의 정수 K가 주어진다. 어떤 문자를 정확히 K개를 포함하는 가장 짧은 연속 문자열의 길이를 구한다. 어떤 문자를 정확히 K개를 포함하고, 문자열의 첫 번째와 마지막 글자가 해당 문자로 같은 가장 긴 연속 문자열의 길이를 구한다. 위와 같은 방식으로 게임을 T회 진행한다. 입력 문자열 게임의 수 T가 주어진다. (1 ≤ T ≤ 100) 다음 줄부터 2개의 줄 동안 문자열 W와 정수 K가 주어진다. (1 ≤ K ≤ |W| ≤ 10,000) 출력 T개의 줄 ..
-
백준 21921번 블로그(자바) - 슬라이딩 윈도우코딩테스트 2023. 1. 18. 16:43
블로그 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 3822 1536 1245 39.536% 문제 찬솔이는 블로그를 시작한 지 벌써 �$N$일이 지났다. 요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다. 찬솔이는 �$X$일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다. 찬솔이를 대신해서 �$X$일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자. 입력 첫째 줄에 블로그를 시작하고 지난 일수 �$N$와 �$X$가 공백으로 구분되어 주어진다. 둘째 줄에는 블로그 시작 1$1$일차부터 �$N$일차까지 하루 방문자 수가 공백으로 구분되어 주어진다. 출력 첫째 줄에 �$X$일 동안 가장 많이 들어온 방문자 수를 출력한다. ..
-
백준 1522번 문자열 교환(자바) - 슬라이딩 윈도우#코딩테스트 2023. 1. 16. 17:13
문자열 교환 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 784 381 332 54.248% 문제 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 있는 것이다. 예를 들어, aabbaaabaaba이 주어졌을 때, 2번의 교환이면 a를 모두 연속으로 만들 수 있다. 입력 첫째 줄에 문자열이 주어진다. 문자열의 길이는 최대 1,000이다. 출력 첫째 줄에 필요한 교환의 회수의 최솟값을 출력한다. 예제 입력 1 복사 abababababababa 예제 출력 1 복사 3 예제 입력 2 복사 ba 예제 출력 2 복사 0 아이디어를 떠올리기 힘들었던 문제...
-
백준 2206번 벽 부수고 이동하기(자바) - bfs##코딩테스트 2023. 1. 16. 16:00
벽 부수고 이동하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 192 MB 103585 25962 16176 22.712% 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는..