[알고리즘/SWEA] #1210 Ladder1

JudyLia·2022년 2월 9일
0

알고리즘

목록 보기
31/61
post-thumbnail
package algorithm_lab.day05.hw;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class SWEA_1210 {
	public static void main(String[] args) throws IOException {
		System.setIn(new FileInputStream("./src/algorithm_lab/day05/hw/input.txt"));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		
		for(int t=1;t<=10;t++){
			String test_num = br.readLine();
			String[][] map = new String[100][100];
			for(int i=0;i<100;i++) {
				map[i]=br.readLine().split(" ")	;
			}
			

			int start=0;
			
			for(int i=0;i<100;i++) {
				if(map[99][i].equals("2")) {
					start=i;
					break;
				}
			}
			
			int x = 99;
			int y = start;
			int c = 0;
			
			while(true) {
				if(x==0) break;
				switch (c) {
				case 0:	//위
					if(x-1>=0&&map[x-1][y].equals("1")) {
						x--;
						if(y+1<=99&&map[x][y+1].equals("1")) {
							y++;
							c=1;
							break;
						}else if(y-1>=0&&map[x][y-1].equals("1")) {
							y--;
							c=2;
							break;
						}
					}
				case 1:	//오른쪽
					if(y+1<=99&&map[x][y+1].equals("1")) {
						y++;
					}else {
						c=0;
					}
					break;
				case 2:	//왼쪽
					if(y-1>=0&&map[x][y-1].equals("1")) {
						y--;
					}else {
						c=0;
					}
					break;
				}
			}
			sb.append("#").append(test_num).append(" ").append(y).append("\n");
			
		}
		System.out.print(sb.toString());
	}
}


profile
안녕:)

0개의 댓글

관련 채용 정보