사다리 타기의 도착점에 도착하기 위해 y좌표를 어디서 시작해야 하는가?
도착점에 도달할 수 있는 시작 사다리 위치는 한개 뿐이므로
도착점에서 거꾸로 시작점을 찾으면 된다
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = 10;
int[][] box = new int[100][102];// 0패딩, 1 - 100, 101패딩
for (int t = 1; t <= T; t++) {
// 입력값
br.readLine();
int distX = 0, distY = 0;
for(int i = 0; i < 100; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
for(int j = 1; j <= 100; j++) {
box[i][j] = Integer.parseInt(st.nextToken());
if(box[i][j] == 2) {
distX = i;
distY = j;
}
}
}
// 0 행까지 올라가면서
while(distX > 0) {
box[distX][distY] = 0;
if(box[distX][distY-1] == 1) { // 좌우 확인
distY -= 1;
}
else if(box[distX][distY+1] == 1) {
distY += 1;
}
else { // 위로 올라 가면 됨
distX -= 1;
}
}
System.out.println("#"+t+" "+(distY-1));
}
}
}
[SWEA] 4408. 자기 방으로 돌아가기 (0) | 2024.10.01 |
---|---|
[SWEA] 1211. ladder2 (0) | 2024.10.01 |
[SWEA 4831] 1일차-전기버스 (0) | 2024.09.25 |
[BJ ] 1904 : 01타일 (0) | 2024.09.19 |
[BJ] 5427 : 불 (0) | 2024.08.09 |