https://www.acmicpc.net/problem/8911
기초적인 시뮬레이션 문제이다. 이동했을 때 가장 작은 x, y값과 가장 큰 x, y값을 기억했다가 크기를 구하면 된다.
이처럼 x, y의 상하좌우 배열을 만들어놓고 상태에 따라 인덱스를 바꿔끼는 풀이는 자주 보이니 기억해둬야겠다.
dx = [-1,0,1,0]
dy = [0,-1,0,1]
def control(s,x,y,dir):
if s == 'F':
x += dx[dir]
y += dy[dir]
return dir, x, y
elif s == 'B':
x -= dx[dir]
y -= dy[dir]
return dir, x, y
elif s == 'L':
if dir == 3: dir = 0
else: dir += 1
else:
if dir == 0: dir = 3
else: dir -= 1
return dir, x, y
def main():
t = int(input())
for _ in range(t):
case = list(input().strip())
# print(case)
dir = 3
nowx = 0
nowy = 0
minx, miny, maxx, maxy = 0,0,0,0
for s in case:
dir, nowx, nowy = control(s,nowx, nowy, dir)
minx = min(minx, nowx)
miny = min(miny, nowy)
maxx = max(maxx, nowx)
maxy = max(maxy, nowy)
print((maxx-minx)*(maxy-miny))
'Koala - 18기 > 코딩테스트 심화 스터디' 카테고리의 다른 글
[백준/C++] 2616번: 소형기관차 (0) | 2025.04.13 |
---|---|
[백준 / python ] 17951 흩날리는 시험지 속에서 내 평점이 느껴진거야 (0) | 2025.04.13 |
[백준 / Python] 7453 합이 0인 네 정수 (0) | 2025.04.06 |
[백준/C++] 2688번: 줄어들지 않아 (0) | 2025.03.30 |
[python/백준] 15724: 주지수 (0) | 2025.03.29 |
https://www.acmicpc.net/problem/8911
기초적인 시뮬레이션 문제이다. 이동했을 때 가장 작은 x, y값과 가장 큰 x, y값을 기억했다가 크기를 구하면 된다.
이처럼 x, y의 상하좌우 배열을 만들어놓고 상태에 따라 인덱스를 바꿔끼는 풀이는 자주 보이니 기억해둬야겠다.
dx = [-1,0,1,0]
dy = [0,-1,0,1]
def control(s,x,y,dir):
if s == 'F':
x += dx[dir]
y += dy[dir]
return dir, x, y
elif s == 'B':
x -= dx[dir]
y -= dy[dir]
return dir, x, y
elif s == 'L':
if dir == 3: dir = 0
else: dir += 1
else:
if dir == 0: dir = 3
else: dir -= 1
return dir, x, y
def main():
t = int(input())
for _ in range(t):
case = list(input().strip())
# print(case)
dir = 3
nowx = 0
nowy = 0
minx, miny, maxx, maxy = 0,0,0,0
for s in case:
dir, nowx, nowy = control(s,nowx, nowy, dir)
minx = min(minx, nowx)
miny = min(miny, nowy)
maxx = max(maxx, nowx)
maxy = max(maxy, nowy)
print((maxx-minx)*(maxy-miny))
'Koala - 18기 > 코딩테스트 심화 스터디' 카테고리의 다른 글
[백준/C++] 2616번: 소형기관차 (0) | 2025.04.13 |
---|---|
[백준 / python ] 17951 흩날리는 시험지 속에서 내 평점이 느껴진거야 (0) | 2025.04.13 |
[백준 / Python] 7453 합이 0인 네 정수 (0) | 2025.04.06 |
[백준/C++] 2688번: 줄어들지 않아 (0) | 2025.03.30 |
[python/백준] 15724: 주지수 (0) | 2025.03.29 |