https://www.acmicpc.net/problem/4153
from sys import stdin
while True:
a, b, c = map(int, stdin.readline().split())
if a == 0 and b == 0 and c == 0:
break
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
print("right")
else:
print("wrong")
a, b, c 를 입력받아 피타고라스의 정리를 만족하는지 확인
모두 0 이면 break
https://www.acmicpc.net/problem/5430
from sys import stdin
T = int(stdin.readline())
for _ in range(T):
p = list(stdin.readline().strip())
n = int(stdin.readline())
arr = stdin.readline().strip()
s = 0
e = n-1
flag = 1
for rd in p:
if rd == "R":
flag = 0 if flag else 1
else:
n -= 1
if n < 0:
break
if flag:
s += 1
else:
e -= 1
if n >= 0:
arr = arr[1:-1]
arr = arr.split(",")
arr = arr[s:e+1]
if flag == 0:
arr.reverse()
print("["+",".join(arr)+"]")
else:
print("error")
R 은 flag 로 판단하도록 하고 (1 : 정방향, 2 : 역방향)
D 는 s, e 인덱스를 이용해서 flag 상태에 따라 삭제 진행
n 의 개수보다 더 많은 삭제를 요구하면 break 해서 error print
나머지는 s, e 를 기반으로 arr 슬라이싱
우선 arr 은 string 형태이므로 양 끝에 [ ] 삭제 후, 쉼표 기준으로 숫자들만 리스트 형태로 분리
flag 가 0 이면 역방향이므로 reverse() 해주기
[n,n] 의 형태로 출력