๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ/code up

6098 : ์„ฑ์‹คํ•œ ๊ฐœ๋ฏธ

๋ฌธ์ œ

0(๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณณ), 1(๋ฒฝ ๋˜๋Š” ์žฅ์• ๋ฌผ), 2(๋จน์ด)๋กœ ๊ตฌ์„ฑ๋œ ๋ฏธ๋กœ ์ƒ์ž์— ์˜ค๋ฅธ์ชฝ ๋˜๋Š” ์•„๋ž˜๋กœ๋งŒ ์›€์ง์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฏธ๊ฐ€

๊ฐ‡ํž ๋•Œ(์˜ค๋ฅธ์ชฝ ๊ธธ์ด ๋‚˜ํƒ€๋‚˜๋ฉด ๋‹ค์‹œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™) ๊ฐœ๋ฏธ์˜ ์ด๋™ ๊ฒฝ๋กœ๋ฅผ 9๋กœ ํ‘œํ˜„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

 

๊ฐœ๋ฏธ๋Š” ํ•ญ์ƒ (2,2)์—์„œ ์ถœ๋ฐœํ•˜๊ณ , ๋” ์ด์ƒ ์›€์ง์ผ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ๋จน์ด๋ฅผ ์ฐพ์€ ๊ฒฝ์šฐ ์ด๋™์„ ๋ฉˆ์ถ˜๋‹ค.


board = []
x = 1
y = 1

for _ in range(10):
    maze = list(map(int, input().split()))
    board.append(maze)
while True:
    if board[x][y] == 2:
        board[x][y] = 9
        break
    elif board[x+1][y] == 1 and board[x][y+1] == 1:
        board[x][y] = 9
        break
    board[x][y] = 9
    if board[x][y+1] == 1:
        x+=1
    elif board[x+1][y] == 1:
        y+=1
    else:
        y+=1

for i in board:
    print(' '.join(repr(e) for e in i))


์ž…๋ ฅ ์˜ˆ์‹œ :

1 1 1 1 1 1 1 1 1 1

1 0 0 1 0 0 0 0 0 1

1 0 0 1 1 1 0 0 0 1

1 0 0 0 0 0 0 1 0 1

1 0 0 0 0 0 0 1 0 1

1 0 0 0 0 1 0 1 0 1

1 0 0 0 0 1 2 1 0 1

1 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1 1 1

 

์ถœ๋ ฅ ์˜ˆ์‹œ:

1 1 1 1 1 1 1 1 1 1

1 9 9 1 0 0 0 0 0 1

1 0 9 1 1 1 0 0 0 1

1 0 9 9 9 9 9 1 0 1

1 0 0 0 0 0 9 1 0 1

1 0 0 0 0 1 9 1 0 1

1 0 0 0 0 1 9 1 0 1

1 0 0 0 0 1 0 0 0 1

1 0 0 0 0 0 0 0 0 1

1 1 1 1 1 1 1 1 1 1