Notice
Recent Posts
Recent Comments
05-13 00:19
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

-

[백준 1347] 미로 만들기 파이썬 본문

Algorithm

[백준 1347] 미로 만들기 파이썬

choiht 2023. 10. 9. 10:45
반응형

문제

https://www.acmicpc.net/problem/1347

 

 

 

코드

n = int(input())
cmd = input()

dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]
V = [['#' for j in range(101)] for i in range(101)]

x, y, d = 50, 50, 2
ex = ey = sy = sx = 50
V[x][y] = '.'

for i in cmd:
    if(i == 'L'):
        d = (d+3) % 4
    elif(i == 'R'):
        d = (d+1) % 4
    else:
        x = x + dx[d]
        y = y + dy[d]
        V[x][y] = '.'
        sy, ey, sx, ex = min(sy, y), max(ey, y), min(sx, x), max(ex, x)
        
for i in range(sx, ex+1):
    print(''.join(V[i][sy:ey+1]))

 

- 최대 입력이 50개이므로 101 * 101 크기의 배열을 만든다.

- (50, 50)의 위치에서 출발하고, 주어진 문자열대로 이동하며 방문한 점을 .으로 방문하지 않은 점을 #으로 출력한다.

- x좌표와 y좌표의 최소, 최대값을 변수에 저장하고 있다가 그만큼의 직사각형을 출력한다.

반응형
Comments