[BOJ]8911. 거북이

Jungmin Lee·2021년 3월 12일
0

APS

목록 보기
5/25
post-thumbnail

문제

BOJ 8911 문제 바로가기
문제의 저작권은 백준 온라인저지에 있습니다.

나의 코드

import sys
input=sys.stdin.readline
# 상 우 하 좌
dx=[-1,0,1,0]
dy=[0,1,0,-1]

for tc in range(int(input())):
    now=0
    answer=[0,0]
    far_list=[0,0,0,0]  # x최소, x최대, y최소, y최대

    for l in input():
        if l=='L':
            now+=3
        elif l=='R':
            now+=1
        elif l=='F':
            answer[0]+=dx[now%4]
            answer[1]+=dy[now%4]
            far_list[0]=min(answer[0],far_list[0])
            far_list[1]=max(answer[0],far_list[1])
            far_list[2]=min(answer[1],far_list[2])
            far_list[3]=max(answer[1],far_list[3])
        elif l=='B':
            answer[0] -= dx[now % 4]
            answer[1] -= dy[now % 4]
            far_list[0] = min(answer[0], far_list[0])
            far_list[1] = max(answer[0], far_list[1])
            far_list[2] = min(answer[1], far_list[2])
            far_list[3] = max(answer[1], far_list[3])

    print((far_list[1]-far_list[0])*(far_list[3]-far_list[2]))

직접 거북이를 판위에서 움직이지 않고 위치만 저장하기

profile
금융 도메인과 개발 지식을 함께 쌓아가는 주니어 개발자입니다😊

0개의 댓글