BOJ
[python] 백준 8911번 - 거북이
yujinkimkim
2023. 1. 29. 14:01
8911번: 거북이
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 컨트롤 프로그램이 주어진다. 프로그램은 항상 문제의 설명에 나와있는 네가지 명령으로만 이루어져
www.acmicpc.net
어제 하다가 잤는데
자꾸 틀렸다고 떠서
구글링 한번 해봤는데
두곳 고쳤더니 해결됐습니당
휴~!
n = int(input())
arr = ""
for i in range(n):
x = 0
y = 0
a = 0
Xans = [0]
Yans = [0]
arr = input()
for j in arr:
if j == 'F':
if (a / 90) % 4 == 0:
y += 1
elif (a / 90) % 4 == 1:
x += 1
elif (a / 90) % 4 == 2:
y -= 1
elif (a / 90) % 4 == 3:
x -= 1
elif j == 'B':
if (a / 90) % 4 == 0:
y -= 1
elif (a / 90) % 4 == 1:
x -= 1
elif (a / 90) % 4 == 2:
y += 1
elif (a / 90) % 4 == 3:
x += 1
elif j == 'L':
if a == 0:
a += 270
else:
a -= 90
elif j == 'R':
a += 90
Xans.append(x)
Yans.append(y)
A = max(Xans) + abs(min(Xans))
B = max(Yans) + abs(min(Yans))
print(A * B)
일단 저기 A랑 B 구해주는 곳에서
min이 음수일 경우 아닐 경우 막 나눴었는데
생각해보니까 어차피 abs()로 절댓값 나오게끔 해놓으면
min에서 음수가 없을 경우에는 최솟값이 0이니까 굳이 나눌 필요없었고
저기 L 입력받는 거에서
그냥 L 입력 받으면 270 더하는 걸로 했는데
0이 아닐 때는 -90 해주는 걸로 하니까 맞았습니다 나왔다
대박인점
-> 정답률 50 넘길래 모지 했는데 실버3이었다
김유진이 실버3 푸는 날도 오네용
가리치킨~