λ°μν
λ μ¬μ©? μ€ν λκ°
μ΄λ»κ² μ κ·Ό νκ³ μ΄λ€ κ²μ΄ μ€μνλ?
μ€ν1μ κ°λ€μ λ£λ μ€νμ΄κ³ μ€ν2λ μ€ν1μμ νν΄μμ λ§λ€μ΄μΌ νλ μμ΄μ λ§λλ μ€νμ΄λ€.
λ¨Όμ , λ§λ€μ΄μΌ νλ μ£Όμ΄μ§ μμ΄μ pinindexλ₯Ό μ€μ ν΄μ, ν΄λΉνλ μΈλ±μ€μ κ°μ μ€ν 1μμ μ°Ύμ μ μλμ§λ₯Ό λ³΄κ³ ,
μλ€ νλ©΄ 1λΆν° μ°¨λ‘λλ‘ μΆκ°ν΄μ€λ€.
λ§μ½μ μ€ν1μ μλ€λ©΄ μ € λ§μ§λ§ κ°μ΄ μνλ κ°μΈμ§λ₯Ό 보λλ°, λ§μ½ μνλ κ°μ΄λ©΄ μ€ν1μμ νν΄μ μ€ν 2μ λ£μΌλ©΄ λλ€.
λ§μ½μ μλλ©΄ 그건 λ§λ€ μ μλ μμ΄μ΄ λλ€.
ꡬν μ½λ( μ£Όμ λΆλΆμ μ΄λ»κ² λμνλ©΄ λλμ§ νμ ν λ μ°μλ€.)
n = int(input())
stk_n = [] # μ΄ μμ΄μ λ§λ€μ΄μΌ ν¨ [4,3,6,8,7,5,2,1]
stk_1 = []
stk_2 = []
result = []
for i in range(n):
stk_n.append(int(input()))
''''
[1,2,3,4]++++ [4,3]--
[1,2,5,6]++ [4,3,6]-
[1,2,5,7,8]++ [4,3,6,8,7,5]---
[1,2] [4,3,6,8,7,5,2,1]--
'''
pin = 0
i = 1
while(True):
if(pin <= n-1):
pin_num = stk_n[pin]
if(pin_num not in stk_1):
stk_1.append(i)
result += '+'
i += 1
else:
if(stk_1[-1]== pin_num):
stk_2.append(stk_1.pop(-1))
result+='-'
pin+=1
else:
result = 'NO'
break
else:
break
if(result == 'NO'):
print(result)
else:
for j in range(len(result)):
print(result[j])
λ°μν
'CodingTest' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Python] DFS & BFS (0) | 2021.05.12 |
---|---|
[Python]λ°±μ€ 1764 ::λ£λ³΄μ‘ λ¬Έμ νμ΄ (0) | 2021.05.12 |
[Python]λ°±μ€ 1935 ::νμνκΈ°μ (0) | 2021.05.12 |
[Python]λ°±μ€ 1406 ::μλν° λ¬Έμ νμ΄ (0) | 2021.05.12 |
[Python]λ°±μ€ 2346 ::νμ ν°λ¨λ¦¬κΈ° λ¬Έμ νμ΄ (0) | 2021.05.12 |
λκΈ