Gaegul's devlog

[SWEA] 1210. Ladder1 본문

Algorithm/Algorithm 풀이

[SWEA] 1210. Ladder1

부지런깨꾹이 2021. 8. 21. 14:33
728x90
반응형

SW Expert Academy [S/W 문제해결 기본] 시리즈

1210. Ladder1

[문제]

출발점 x=0 및 x=9인 세로 방향의 두 막대 사이에 임의의 개수의 막대들이 랜덤 간격으로 추가되고(이 예에서는 2개가 추가됨) 이 막대들 사이에 가로 방향의 선들이 또한 랜덤하게 연결된다. 100* 100 에서 맨 위에서 출발하여 가능한 길을 따라 도착하는 좌표를 출력한다. 

 



[제약 사항]

한 막대에서 출발한 가로선이 다른 막대를 가로질러서 연속하여 이어지는 경우는 없다.

[입력]

입력 파일의 첫 번째 줄에는 테스트 케이스의 번호가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다.

총 10개의 테스트 케이스가 주어진다.

e.g.

1
1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...
1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...
1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...
1 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...
1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...
1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 ...

[출력]

#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 도착하게 되는 출발점의 x좌표를 출력한다.

e.g.

#1 67
...


[코드]

def solve(ladder, N):
    d_row = N-1
    d_col = ladder[N-1].index(2) #시작점 = 2인 좌표(99행 부터 위로 올라가며 탐색)
    move = 0
    while d_row > 0: #0행이 될때까지 돌기.
        if (move == 0 or move == 1) and d_col > 0 and ladder[d_row][d_col-1]:
            d_col -= 1 #왼쪽으로 이동
            move = 1
        elif (move == 0 or move == 2) and d_col < N-1 and ladder[d_row][d_col+1]:
            d_col += 1 #오른쪽 이동
            move = 2
        else:
            d_row -= 1 #위로 이동
            move = 0
    return d_col
    
for t in range(10):
    N = 100
    case = int(input())
    ladder = [list(map(int, input().split())) for _ in range(N)]
    print(f'#{case} {solve(ladder, N)}')

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14ABYKADACFAYh&categoryId=AV14ABYKADACFAYh&categoryType=CODE&problemTitle=s%2Fw&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=5

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

728x90
반응형

'Algorithm > Algorithm 풀이' 카테고리의 다른 글

[SWEA] 1215. 회문1  (0) 2021.08.21
[SWEA] 1213. String  (0) 2021.08.21
[SWEA] 1209. Sum  (0) 2021.08.21
[SWEA] 1208. Flatten  (0) 2021.08.11
[SWEA] 1206. View  (0) 2021.08.11
Comments