์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/PYTHON

[ํŒŒ์ด์ฌ PYTHON] ๋ฐฑ์ค€ 3190๋ฒˆ ใ€๋ฑ€ใ€‘

2023. 2. 28. 16:36


from collections import deque

boardSize = int(input())
appleNum = int(input())

# ๋งต ์ƒ์„ฑ
board = [[0]*boardSize for _ in range(boardSize)]

# ์‚ฌ๊ณผ ์œ„์น˜ ์ €์žฅ (1๋กœ ํ‘œ์‹œ)
for _ in range(appleNum):
    row,col=map(int,input().split())
    board[row-1][col-1] = 1

# ๋ช…๋ น ์ €์žฅ (key : value ๋กœ)
commands = {}
commandNum = int(input())

for _ in range(commandNum):
    sec,command = map(str,input().split())
    commands[int(sec)]=command

# direction์ด 0 ์ธ ๊ฒฝ์šฐ ์•„๋ž˜์ชฝ
# 1์ธ ๊ฒฝ์šฐ ์˜ค๋ฅธ์ชฝ
# 2์ธ ๊ฒฝ์šฐ ์œ„์ชฝ
# 3์ธ ์™ผ์ชฝ
dRow = [-1,0,1,0]
dCol = [0,1,0,-1]

# ์ดˆ๊ธฐ ๋ฐฉํ–ฅ 1, ์ดˆ๊ธฐ ์‹œ๊ฐ„ 0, ์ดˆ๊ธฐ ์œ„์น˜ (0,0), ๋ฑ€ ์œ„์น˜๋Š” 2๋กœ ํ‘œ์‹œ
direction = 1
time = 1
row,col = 0,0
snake = deque([])
snake.append([row,col])
board[row][col] = 2

def change_direction(command,direction):
    # D๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐฉํ–ฅ ๋ณ€๊ฒฝ
    if(command == 'D'):
        return (direction+1)%4
    elif(command == 'L'):
        return (direction-1)%4

## ์ง„ํ–‰
while True:
    row = dRow[direction] + row
    col = dCol[direction] + col
    # ๊ฒŒ์ž„์ด ๋๋‚˜์ง€ ์•Š๋Š” ์กฐ๊ฑด
    if 0<= row < boardSize and 0<= col < boardSize and board[row][col] != 2:
        #์‚ฌ๊ณผ ์—†์œผ๋ฉด ๊ผฌ๋ฆฌ ์ œ๊ฑฐํ•˜๊ณ  0์œผ๋กœ ์ดˆ๊ธฐํ™”
        if board[row][col] != 1:
            tailRow,tailCol=snake.popleft()
            board[tailRow][tailCol]=0
        # ๋‹ค์Œ ์œ„์น˜ 2๋กœ ๋ฐ”๊พธ๊ณ  ํ์— ์ถ”๊ฐ€
        board[row][col] = 2
        snake.append([row,col])

        if time in commands:
            direction = change_direction(commands[time],direction)
        time+=1
    else:
        break
print(time)

 

 

    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/PYTHON' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํŒŒ์ด์ฌ PYTHON] ๋ฐฑ์ค€ 15686๋ฒˆ ใ€์น˜ํ‚จ ๋ฐฐ๋‹ฌใ€‘
    • [ํŒŒ์ด์ฌ PYTHON] ๋ฐฑ์ค€ 15684๋ฒˆ ใ€์‚ฌ๋‹ค๋ฆฌ ์กฐ์ž‘ใ€‘
    • [ํŒŒ์ด์ฌ PYTHON] ์ฝ”๋“œํฌ์Šค 1426D
    • [ํŒŒ์ด์ฌ PYTHON] ๋ฐฑ์ค€ 2812๋ฒˆ ใ€ํฌ๊ฒŒ ๋งŒ๋“ค๊ธฐใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”