[Coding Test] BFS 최단 거리 구하기(JAVA, LV.2)
상황 A에서 시작해서 B로 가는 최단 거리를 구하시오.조건 '1'로만 연속된 가로, 세로를 이동이 가능하고 '0'은 장애물로 지나갈 수 없는 곳. 도달 못할 시 -1 반환A(1)01111010110111111010000B(1) 입출력 [[1,0,1,1,1], [1,0,1,0,1], [1,0,1,1,1], [1,1,1,0,1], [0,0,0,0,1]]11[[1,0,1,1,1], [1,0,2,0,1], [1,0,1,1,1], [1,1,1,0,0], [0,0,0,0,1]]-1 package studyTestProject;import java.util.*;class CodingTest3 { int[] dx = {-1, 1, 0, 0}; int[] dy = {0, 0, -1, 1}; public..
2025. 9. 19.
[Coding Test]게임 맵 최단거리(프로그래머스, Java, 깊이/너비 우선 탐색(DFS/BFS))
문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 최단거리1_sxuruo.png 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영으로 가는 두 가지 방법을 나타내고 ..
2025. 9. 6.
[Coding Test] 대충 만든 자판 (프로그래머스, LV.1, 자바)
문제 설명 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수 있으며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배열되어 있습니다. 또, 같은 문자가 자판 전체에 여러 번 할당된 경우도 있고, 키 하나에 같은 문자가 여러 번 할당된 경우도 있습니다..
2025. 8. 15.