반응형
문제 설명
자바 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
static int visited[];
public static void main(String[] args) throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int []input= Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray(); //F S G U D
visited=new int [input[0]+1];
System.out.println(bfs(input));
}
static String bfs(int []input){
Queue<Integer> queue=new LinkedList<>();
queue.add(input[1]);
visited[input[1]] = 1;
while(!queue.isEmpty()){
int chk=queue.poll();
if(chk==input[2]){
return String.valueOf(visited[chk]-1);
}
if(chk+input[3]<=input[0]&&visited[chk+input[3]]==0){//press U
visited[chk + input[3]] = visited[chk] + 1;
queue.add(chk + input[3]);
}
if(chk-input[4]>0&&visited[chk-input[4]]==0) {//press D
visited[chk - input[4]] = visited[chk] + 1;
queue.add(chk - input[4]);
}
}
return "use the stairs";
}
}
문제 풀이
bfs와 동적프로그래밍으로 풀었습니다.
반응형
'프로그래밍 > 알고리즘 풀이' 카테고리의 다른 글
프로그래머스 상호 평가 자바 (0) | 2021.08.10 |
---|---|
백준 7576 토마토 자바 (0) | 2021.08.04 |
백준 1149 RGB거리 자바 (0) | 2021.07.29 |
백준 1932 정수 삼각형 자바 (0) | 2021.07.14 |
백준 2579 계단 오르기 자바 (0) | 2021.07.14 |
댓글