๐๋ฌธ์ :
๐ํ์ด:
์คํ์ ํน์ง์ธ ๋ง์ง๋ง์ผ๋ก ์ ๋ ฅ๋ ์ซ์๊ฐ pop()์์ ์ถ๋ ฅ๋๋ค๋ ๊ฐ๋ ์ ๋์น๊ณ ์์ด์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ๋ค.
์ด ํน์ง๋ง ํ์ฉํ๋ฉด ์๋นํ ์ฌ์์ง๋ ๋ฌธ์ ๋ค.
โ๏ธ์ฝ๋:
'''
https://www.acmicpc.net/problem/1874
๋ฌธ์ : ์คํ ์์ด
๋์ด๋: ์ค๋ฒ2
'''
import sys
def ๋ฐฑ์ค1874():
n = int(input()) # ์
๋ ฅ ๋ฐ์ ์ซ์์ ๊ฐ์
sequence = [int(sys.stdin.readline()) for _ in range(n)] # ์
๋ ฅ ์์ด
stack = [] # ์คํ
answer = [] # ์ถ๋ ฅํ ๊ฒฐ๊ณผ ๋ฆฌ์คํธ
current = 1 # ์คํ์ ๋ฃ์ ์ซ์
possible = True # ์์ด์ ๋ง๋ค ์ ์๋์ง ์ฌ๋ถ
for num in sequence:
# ์
๋ ฅ๋ ์ซ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ฅผ ์คํ์ ๋ฃ์
while current <= num:
stack.append(current)
answer.append('+')
current += 1
# ์คํ์ ๋ง์ง๋ง ์ซ์๊ฐ ์
๋ ฅ ์ซ์์ ๊ฐ์ผ๋ฉด pop
if stack and stack[-1] == num:
stack.pop()
answer.append('-')
else:
possible = False
break
if possible:
# ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ
print('\n'.join(answer))
else:
print("NO")
๋ฐฑ์ค1874()
๐๋งํฌ:
https://www.acmicpc.net/problem/1874
'๐งฉps > ๐ฅNormal' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 2096๋ฒ] ๋ด๋ ค๊ฐ๊ธฐ (1) | 2024.10.13 |
---|---|
[๋ฐฑ์ค 18115๋ฒ] ์์ด๊ณผ ์ฟผ๋ฆฌ 38 (0) | 2024.10.01 |
[๋ฐฑ์ค 1654๋ฒ] ๋์ ์๋ฅด๊ธฐ (0) | 2024.09.29 |
[๋ฐฑ์ค 2108๋ฒ] ํต๊ณํ (0) | 2024.09.28 |
[๋ฐฑ์ค 1966๋ฒ] ํ๋ฆฐํฐ ํ (0) | 2024.09.26 |