Notice
Recent Posts
Recent Comments
Link
- Today
- Total
Archives
Tags
- 자바 #프로그래머스 #JAVA #최솟값 만들기 #코딩테스트
- 최대값과 최솟값
- 프로그래머스
- 자바 #프로그래머스 #JAVA #다음 큰 숫자
- JAVA #백준
- JAVA #프로그래머스
- JAVA #코드업 #기초 100제
- JAVA #자바 #프로그래머스 #나머지가 1이되는 수
- JAVA #핸드폰 번호 가리기 #프로그래머스 #자바
- IntelliJ #인텔리제이 #교육용
- 자바 #JAVA #프로그래머스 #정수 내림차순으로 배치하기
- 최대값과 최솟값 #자바 #JAVA
- 게임 맵 최단거리 #자바 #JAVA #프로그래머스
- 콜라츠 추측 #자바 #JAVA #프로그래머스
- SW공학
- 나누어 떨어지는 숫자 배열 #자바 #JAVA #프로그래머스
- 빌드 에러
- JAVA #자바 #프로그래머스 #서울에서 김서방 찾기
- servlet
- 백준 #자바
- Could not resolve all files for configuration
- JAVA #프로그래머스 #문자열 내림차순으로 배치하기
- JAVA #자바 #프로그래머스 #숫자의 표현
- 스프링 #의존성 주입 #DI
- 백준 #JAVA #자바
- JAVA #프로그래머스 #약수의 개수와 덧셈
- 문자열 다루기 기본 #자바 #JAVA
- Java
- JAVA #자바 #프로그래머스 #두 정수 사이의 합
- 데이터베이스 #DB #데이터 #정의 #기본
MOMONOTE
(JAVA) 프로그래머스 게임 맵 최단거리 - LEVEL2 본문
import java.util.*;
class Node{
private int x;
private int y;
public Node(int x,int y){
this.x =x;
this.y =y;
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
}
class Solution {
// 상 하 좌 우
public static int[] dx = {-1,1,0,0};
public static int[] dy = {0,0,-1,1};
public int solution(int[][] maps) {
int answer = 0;
Queue<Node> q = new LinkedList<>();
q.offer(new Node(0,0));
while(!q.isEmpty()){
Node node = q.poll();
for(int i = 0;i < 4;i++){
int x = node.getX();
int y = node.getY();
int nx = x + dx[i];
int ny = y + dy[i];
if(nx<0 || ny <0 || nx >=maps.length || ny>=maps[0].length){
continue;
}
if(maps[nx][ny] == 0) continue;
if(maps[nx][ny] == 1){
maps[nx][ny] = maps[x][y]+1;
q.offer(new Node(nx,ny));
}
}//for
}//while
if(maps[maps.length-1][maps[0].length-1] == 1){
answer = -1;
}else{
answer = maps[maps.length-1][maps[0].length-1];
}
System.out.println("answer : "+answer);
return answer;
}
}
- 처음에 maps[maps.length-1][maps[1].length-1]로 썼더니 정확도 테스트에서 한가지 걸렸다. 크기가 maps[1] 이 없는 경우가 있었던거 같다.
- bfs 방식으로 구현.
'알고리즘, 코딩테스트 > (JAVA)프로그래머스' 카테고리의 다른 글
(JAVA) 프로그래머스 숫자의 표현 (0) | 2023.04.17 |
---|---|
(JAVA) 프로그래머스 최솟값 만들기 (0) | 2023.02.08 |
(JAVA) 프로그래머스 문자열 다루기 기본 - LEVEL1 (0) | 2022.10.07 |
(JAVA) 프로그래머스 나누어 떨어지는 숫자 배열 - LEVEL1 (0) | 2022.10.04 |
(JAVA) 프로그래머스 핸드폰 번호 가리기 - LEVEL1 (0) | 2022.10.02 |
Comments