π λμ΄λ 골λ5
R: λ°°μ΄μ μλ μμ μμλ₯Ό λ€μ§λ λͺ λ Ή
D: 첫 λ²μ§Έ μλ₯Ό λ²λ¦¬λ λͺ λ Ή (λΉ λ°°μ΄μμ μ¬μ©νλ©΄ μλ¬)
deque
λ‘ μ
λ ₯λ°λλ€.popleft()
λ₯Ό μννλ€.μ²μ μκ°ν νμ΄ λ°©λ²μ λ§€μ° κ°λ¨νλ€.
νμ§λ§ μ¬λ¬κ°μ§ μ£Όμν΄μΌν λ΄μ©μ΄ λͺ κ°μ§κ° μ‘΄μ¬νλ€.
π μ£Όμμ¬ν
- dequeλ‘ μ λ ₯ λ°μ μ νκ° λΉμ΄μλλΌλ κΈΈμ΄λ 1λ‘ μΈμλκΈ° λλ¬Έμ μμ κ°μκ° 0κ°λΌλ©΄ λΉ λ¦¬μ€νΈλ‘ μ΄κΈ°νλ₯Ό ν΄μ€μΌ νλ€.
- μνν ν¨μλ€μ μ΅λ 100,000κ°λ‘ Rν¨μκ° λμ¬λλ§λ€ λ§€λ² μννλ©΄ μκ°μ΄κ³Όκ° λ°μνλ€.
β¨ ν΄κ²° λ°©λ²
- μμ λ κ°μ§ μ¬νμ μ£Όμν΄μΌ νλ―λ‘ μμ κ°μ nμ΄ 0μ΄λΌλ©΄
[]
λ‘ μ΄κΈ°νλ₯Ό ν΄μ€μΌνλ€.- Rμ νλ₯Ό λ€μ§λ ν¨μλ‘ Rμ΄ μ§μμΌ κ²½μ°μλ μννμ§ μμλ λλ€!
- Rμ μλ₯Ό μΈκΈ° μν΄
flag
λΌλ λ³μλ₯Ό μ¬μ©νλ€.
from collections import deque
T = int(input()) # ν
μ€νΈ μΌμ΄μ€ μ
for _ in range(T):
func = input() # μνν ν¨μλ€
n = int(input()) # λ°°μ΄μ λ€μ΄μλ μμ κ°μ n
num = deque(input()[1:-1].split(',')) # λ°°μ΄μ λ€μ΄μλ μ μ 리μ€νΈ
# dequeλ λΉμ΄ μμ΄λ κΈΈμ΄λ₯Ό 1λ‘ μΈμν΄μ μ΄κΈ°ν νμ
if n == 0:
num = []
# μκ°μ΄κ³Ό λ°μ λ°©μ§ - Rμ΄ νμμΌ λλ§ λ€μ§κΈ°
flag = 0
# μλ¬ μ¬λΆ νλ¨
error = 0
for i in func:
if i == 'R':
# λ€μ§κΈ° μν flag μ
flag += 1
else:
# 첫 λ² μ§Έ μ λ²λ¦¬κΈ°
if len(num) == 0:
error = 1
print('error')
break
else:
# flagκ° μ§μλ©΄ λ€μ§μ νμκ° μμΌλ―λ‘ popleft
if flag%2 == 0:
num.popleft()
else:
# λ€μ§μ΄μ popνλ κ²μΌλ‘ κ·Έλ₯ pop
num.pop()
if error == 0:
# flagκ° μ§μλ©΄ μλ μμλ‘ μΆλ ₯
if flag%2 == 0:
print('[' + ','.join(num) + ']')
else:
# νμλ©΄ λ€μ§ν μνλ‘ μΆλ ₯
num.reverse()
print('[' + ','.join(num) + ']')
μμμ²λΌ νλ©΄ μκ°μ΄κ³Όλ λμ§ μκ³ μ λμκ°λ κ±Έ νμΈν μ μλ€!
input()
μ μ¬μ©νλ κ²λ³΄λ€ sys.stdin.readline()
μ μ¬μ©νλ κ²μ΄ μκ°μ λ λ¨μΆμν¬ μ μμ΄μ μ΄κ±Έ μ¬μ©νμ λλ κ³μ νλ Έλ€κ³ λ΄μλ€,,,
μ€λ§ κ·Έκ±° λλ¬Έμ΄κ² μ΄ νκ³ μ½λλ₯Ό μ¬λ¬κ°μ§λ‘ μμ ν΄λ΄€λλ°λ κ³μ νλ Έλ€κ³ ν΄μ κ²°κ΅μλ input()
μ μ¬μ©νλλ κΈμ ν΄κ²°λ¬λ€..!! μμ§λ λκ° λ¬Έμ μΈμ§ λͺ¨λ₯΄κ² λ€... νΉμ μμλ λΆμ΄ μλ€λ©΄ μλ €μ£ΌμΈμπββοΈ
-μλ¬΄νΌ μ΄ λ¬Έμ λ§μ§λ§μΌλ‘ queue μ€ν λ§λ¬΄λ¦¬π©π»βπ»-