본문 바로가기

■ 알고리즘 문제 풀이/SWEA

[SWEA-D4] 1210. Ladder1

▶문제설명

[SWEA] 1210. Ladder1

https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14ABYKADACFAYh&categoryId=AV14ABYKADACFAYh&categoryType=CODE



▶Solution


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import java.util.*;
 
class Solution{
    public static int map[][] = new int[100][100];
    public static boolean[][] visited;
    public static boolean find = false;
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = 0;
        int answer = -1;
 
        for (int t = 0; t < 10; t++) {
            T = sc.nextInt();
            find = false;
 
            for (int i = 0; i < 100; i++)
                for (int j = 0; j < 100; j++)
                    map[i][j] = sc.nextInt();
 
            for (int i = 0; i < 100; i++) {
                // 출발점을 찾으면 알고리즘 수행 후 목적지 도착하면 브레이크
                if (map[0][i] == 1) { // 출발점인 경우
 
                    FindTarget(0, i);
                    if (find) {
                        answer = i;
                        break;
                    }
                }
            }
            System.out.printf("#%d %d\n", T, answer);
        }
    }
 
    public static void FindTarget(int i, int j) {
        visited = new boolean[100][100];
        
        while (i<100) {
            visited[i][j] = true;
            //System.out.println(i + " : " + j);
            if (map[i][j] == 2) {
                find = true;
                break;
            }
            if (0 <= j - 1 && map[i][j - 1== 1 && visited[i][j - 1== false) { // 왼쪽이 뚫린 경우
                j--;
            } 
            else if (j + 1 < 100 && map[i][j + 1== 1 && visited[i][j + 1== false) { // 오른쪽이 뚫린 경우
                j++;
            } 
            else { // 아래가 뚫린 경우
                i++;
            }
        }
    }
}
cs



'■ 알고리즘 문제 풀이 > SWEA' 카테고리의 다른 글

[SWEA-D3] 1213. String  (0) 2019.02.20
[SWEA-D4] 1211. Ladder2  (0) 2019.02.20
[SWEA-D3] 1209. Sum  (0) 2019.02.20
[SWEA-D3] 1206. View  (0) 2019.02.20
[SWEA-D3] 1208. Flatten  (0) 2019.02.20