[프로그래머스] 리코쳇 로봇 - Java(자바)
·
자바/코딩테스트
문제 이해리코쳇 로봇이라는 보드게임이 있습니다.게임판에는 "." - 빈공간, "R" - 로봇, "D" - 장애물, "G" - 목표지점 으로 구성되어있고 "R", "G는 무조건 하나씩 존재합니다.로봇이 목표지점으로 갈 수 있는 최소의 경로를 찾아야합니다.로봇은 상하좌우로 움직일수 있으며 한번 움직일때 미끄러져서 맨끝까지 가거나 장애물을 만나기전까지 멈추지 않습니다.로봇이 목표지점으로 갈 수 없다면 -1로 return 해주세요로봇이 상하좌우 움직일때마다 맨끝까지 or 장애물에 멈추게 move 함수를 만든다.0 - 상 , 1 - 하, 2 - 좌, 3 - 우 로 판단하여 만들었다.움직일 때마다 이동 count + 1 하고 방문했던적이 없다면 큐에 집어 넣고 아니라면 방향을 바꿔가며 이동한다.이동한 좌표가 "G"..
[프로그래머스] 단어 변환 - Java(자바)
·
자바/코딩테스트
문제 이해 한번에 한 알파벳만 바꿀 수 있다. 한번에 문자열의 한 알파벳만 바꾸면서 words에 포함된 단어로 변경, target에 최소한의 과정으로 변환 가능한 숫자를 구하여라 한번에 한 알파벳만 바꿔서 words에 포함된 문자열을 구하는건 begin 문자열과 한개의 알파벳만 다르다는걸 의미한다. bfs 방법으로 최소한의 과정을 구하기로 했다. 큐와 방문자 배열을 생성하여 한개의 알파벳만 다른걸 구한다. words의 단어가 한개의 알파벳만 다르고 방문한적이 없다면 (여태까지 방문한 횟수 + 1 )을 방문자 배열에 집어 넣는다. import java.util.*; class Solution { public int solution(String begin, String target, String[] word..
[프로그래머스] 무인도 여행 -Java(자바)
·
자바/코딩테스트
문제 이해 무인도 여행을 하려고 한다. 각 섬마다 며칠동안 머물수 있는지 문자열로 나와있다. 각 무인도마다 머무를 수 있는 일수가 나와있고 바다를 건너지 않고 상하좌우 움직여서 최대한 며칠을 버틸 수 있는지 구하여라 배열로 생성하여 오름차순 하여라 문자열을 반복하면서 X 즉 바다가 아닌 무인도를 발견하고 visit 배열에 방문했는지 기록한다. 발견한 무인도의 상하좌우의 무인도가 방문했던 무인도인지 확인 후 방문하지 않았으면 큐에 해당 좌표를 넣고 visit 배열에 방문했다고 변경한다. 위 처럼 처음 발견된 무인도를 기준으로 더이상 발견되지 않을때까지 반복하면서 큐에 좌표를 넣고 최대 일수를 계속 더한다. 더이상 무인도가 발견되지 않으면 바다를 건너야하는 상황임으로 list에 최대 일수를 저장한다. imp..
대전집주인
'bfs' 태그의 글 목록