코딩 테스트
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/2578 : 버스 갈아타기코딩 테스트/JUNGOL 2023. 5. 29. 15:54
Intermediate_Coder/그래프탐색-BFS/버스 갈아타기 문제 2차원 평면상에 m개의 수직선과 n개의 수평선으로 이루어진 격자 형태의 도로망이 있다. 아래 그림은 7개의 수직선과 6개의 수평선으로 이루어진 도로망의 예이다. 수직선과 수평선이 만나는 교차점들 중 가장 왼쪽 아래 점의 위치는 (1,1)이고, 가장 오른쪽 위 점의 좌표는 (m,n)이다. 이 도로망을 운행하는 버스들이 k개 있고, 각 버스는 하나의 수평선 상의 두 교차점 사이 선분이나 하나의 수직선 상의 두 교차점 사이 선분을 왕복 운행한다. 각 버스는 운행하는 선분 사이의 모든 교차점(선분의 양 끝 교차점 포함)에서 정차한다. 출발지 교차점과 목적지 교차점 (출발지와 목적지는 다름)이 주어질 때, 출발지에서 목적지로 버스만을 이용하여..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1006 : 로봇코딩 테스트/JUNGOL 2023. 3. 1. 15:36
Intermediate_Coder/그래프탐색-BFS/로봇 문제 많은 공장에서 로봇이 이용되고 있다. 우리 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. *명령 1. Go k - k 는 1 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k 칸만큼 움직인다. *명령 2. Turn dir - dir 은 left 또는 right 이며 각각 왼쪽 또는 오른쪽으로 90° 회전한다. 공장 내 궤도가 설치되어 있는 상태가 아래와 같이 0과 1로 이루어진 직사각형 모양으로 로봇에게 입력된다. 0은 궤도가 깔려 있어 로봇이 갈 수 있는 지점이고 1은 궤도가 없어 로봇이 갈 수 없는 지점이다. 로봇이..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1336 : 소수 함께 하는 여행코딩 테스트/JUNGOL 2023. 1. 22. 13:12
Intermediate_Coder/그래프탐색-BFS/소수와 함께 하는 여행 문제 뉴욕으로 날아간 원더걸스를 찾기 위해서 태현이도 뉴욕에 가게 되었다. 뉴욕에 도착하여 입국 마친 태현이는 막상 도착하고 보니 아무것도 할 수 없었다. 다행스럽게 공항에 있는 사람들에게 손짓 발짓으로 버스를 타는 방법을 알게 되었다. 뉴욕의 정류장은 각각 번호가 붙어 있는데, 이는 네 자리의 소수로 이루어져 있다. 한 정류장의 번호와, 다른 정류장의 번호의 각 자리들을 비교 했을 때, 자리가 하나만 다른 경우는 이동하는 버스가 존재 하므로 이동이 가능하다. 가령 '1033'번 정류장과 '1733'번 정류장의 경우 차이 나는 경우가 1개 밖에 없기 때문에 버스가 존재 하므로 이동이 가능하나, '1033'번에서 '3733'번의 경..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/2261 : 경로 찾기코딩 테스트/JUNGOL 2022. 11. 14. 20:32
Intermediate_Coder/그래프탐색-BFS/경로 찾기 문제 길이가 같은 두 개의 이진수 코드 A와 B가 있다고 하자. 이 두 코드 사이의 해밍 거리는 A와 B의 각 비트를 왼쪽부터 오른쪽으로 차례대로 비교할 때 서로 다른 값을 가진 비트의 수이다. 예를 들어, A=010010, B=011011 이라고 하면, 세 번째 비트와 여섯 번째 비트만 서로 다르므로 이 두 코드 사이의 해밍 거리는 2이다. 우리는 총 N개의 이진 코드를 가지고 있고, 각 코드의 길이는 K로 같다. 예를 들어, 다음과 같이 길이가 3인 5개의 이진 코드들이 있다. A=000, B=111, C=010, D=110, E=001 두 코드 와 사이의 해밍 거리를 H(A,B)로 표현한다. 그러면, H(A,B)=3, H(A,C)=1, ..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1082 : 화염에서탈출(SLIKAR)코딩 테스트/JUNGOL 2022. 9. 12. 10:28
Intermediate_Coder/그래프탐색-BFS/화염에서탈출(SLIKAR) 문제 재우는 중간계(middle-earth)에서 유명한 용사이다. 어느날 사람들에게 부탁 받은 마물 퇴치를 신속히 해결하고 집으로 돌아가려고 하는데, 마법의 숲에서 재우를 추적하고 있던 불의 마법사 무길이와 마주치게 되었다. 무길이는 재우를 잡기 위해서 화염 마법을 시전하였고 어느덧 숲은 화염으로 가득차고 있었다. 재우는 무길이가 화염을 풀어 놓은 숲에서 신속히 요새로 귀환하고자 한다! 숲의 지도는 R행과 C열로 이루어져있다. 비어있는 칸은 '.'로 표시되고, 불은 '*'로, 바위는 'X'로 표시되어있다. 용사의 집은 'D'로 표현되고, 재우가 처음에 서있는 위치는 'S'로 표시된다. 매 분마다 재우는 인접한 4개의 칸(상, ..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/2613 : 토마토(고)코딩 테스트/JUNGOL 2022. 9. 1. 01:05
Intermediate_Coder/그래프탐색-BFS/토마토(고) 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1462 : 보물섬코딩 테스트/JUNGOL 2022. 7. 28. 08:35
Intermediate_Coder/그래프탐색-BFS/보물섬 문제 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안된다. 예를 들어 위와 같이 지도가 주어졌다면 보물은 아래 표시된 두 곳에 묻혀 있게 되고, 이 둘 사이의 최단 거리로 이동하는 시간은 8시간이 된다. 보물 지도..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1078 : 저글링 방사능 오염코딩 테스트/JUNGOL 2022. 6. 6. 14:36
Intermediate_Coder/그래프탐색-BFS/저글링 방사능 오염 문제 승훈이는 심심한 시간에 스타크래프트(Starcraft) 게임을 하며 놀고 있었다. 스타크래프트 유닛중 하나인 저글링을 한 곳에 몰아세운 뒤, 방사능 오염 공격으로 없애보려고 했다. 그런데 좀 더 재미있게 게임을 하기 위해서 게임을 개조하여 방사능 오염 공격을 가하면 방사능은 1초마다 이웃한 저글링에 오염된다. 그리고 방사능에 오염된 저글링은 3초 후에 죽게 된다. 예를 들어 아래 왼쪽그림과 같이 모여 있는 저글링 중에 빨간 동그라미 표시를 한 저글링에게 방사능 오염공격을 가하면, 총 9초 후에 저글링들이 죽게 된다. 아래 오른쪽에 있는 그림의 숫자들은 각 저글링들이 죽는 시간이다. 저글링을 모아놓은 지도의 크기와 지도상에 저글링..