기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - SWEA/D4

[SW expert Academy] SWEA 1210번 Ladder1 자바(Java)

2023. 11. 18. 17:21

[D4] [S/W 문제해결 기본] 2일차 - Ladder1 - 1210

문제 링크

성능 요약

메모리: 107,508 KB, 시간: 310 ms, 코드길이: 946 Bytes

제출 일자

2023-11-18 17:18

출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do

1. 100 x 100 배열에서 도착점 찾기

 0: 길 x 1: 사다리가 있음 2: 도착지점

2. 값을 입력받으면서 마지막 도착지점의 좌표를 기억함

3. 내려가서 찾지말고 밑에서 위로 올라가기.

4. 올라가다가 좌우, 갈 수 있는 공간이 생기면 이동 후 올라가기 

5. 현재 위치한 X값이 0이면(즉, 0번째 인덱스에 도착하면) break; 후 Y좌표를 리턴하면 됨

import java.util.*;

class Solution {
	public static void main(String args[]) throws Exception {
		Scanner sc = new Scanner(System.in);
		for (int tc = 1; tc <= 10; tc++) {
			sc.nextInt();
			int[][] map = new int[100][100];
			int endX = 0;
			int endY = 0;
			for (int i = 0; i < 100; i++) {
				for (int j = 0; j < 100; j++) {
					map[i][j] = sc.nextInt();
					if(map[i][j] == 2){
						endX = i;
						endY = j;
					}
				}
			}
			System.out.println("#" + tc + " " + check(endX, endY,map));
		}
	}

	private static int check(int startX, int startY, int[][] map) {
		int curX = startX;
		int curY = startY;
		while(curX > 0) {
			curX -= 1;
			if(curY - 1 >= 0 && map[curX][curY - 1] == 1) {
				while(curY - 1>= 0 && map[curX][curY-1] == 1) {
					curY--;
				}
			}
			else if(curY + 1 < map.length && map[curX][curY+1] == 1) {
				while(curY + 1 < map.length && map[curX][curY+1] == 1) {
					curY++;
				}
			}
		}
		return curY;
	}
}

'알고리즘 - SWEA > D4' 카테고리의 다른 글

[SW expert Academy] SWEA 7465번 창용 마을 무리의 개수 자바(Java)  (0) 2023.12.27
[SW expert Academy] SWEA 1868번 파핑파핑 지뢰찾기 자바(Java)  (0) 2023.11.18
[SW expert Academy] SWEA 2819번 격자판의 숫자 이어 붙이기 자바(Java)  (0) 2023.11.18
[SW expert Academy] SWEA 1249번 보급로 자바(Java)  (0) 2023.11.18
[SW expert Academy] SWEA 1226번 미로1 자바(Java)  (1) 2023.11.18
    '알고리즘 - SWEA/D4' 카테고리의 다른 글
    • [SW expert Academy] SWEA 7465번 창용 마을 무리의 개수 자바(Java)
    • [SW expert Academy] SWEA 1868번 파핑파핑 지뢰찾기 자바(Java)
    • [SW expert Academy] SWEA 2819번 격자판의 숫자 이어 붙이기 자바(Java)
    • [SW expert Academy] SWEA 1249번 보급로 자바(Java)
    기몽수
    기몽수

    티스토리툴바