N = int(input())
stack = []
result = []
checkTrue = True
count = 0
for i in range(N):
input_number = int(input())
while count < input_number:
count += 1
stack.append(count)
print(stack,"쌓이는 중")
result.append("+")
print(result)
if count == input_number:
stack.pop()
result.append("-")
print(result,'삭제 되었음')
break
if stack and stack[-1] == input_number:
stack.pop()
result.append("-")
print(result,'삭제 되었음')
if stack and stack[-1] > input_number: #스택의 마지막수가 인풋넘버보다 큰 경우.
checkTrue = False
if checkTrue:
for i in result:
print(i)
else:
print("NO")
물론 중간 중간의 print는 빼고 제출한 답안지다.
'코딩테스트' 카테고리의 다른 글
[Codewar] Take a Ten Minute Walk - 자바스크립트 (0) | 2021.06.24 |
---|---|
[1012번]유기농배추 - 파이썬 (0) | 2021.06.23 |
[백준] 크로아티아 알파벳 파이썬 (0) | 2021.06.14 |
[백준]단어공부 (0) | 2021.06.14 |
[백준] 더하기 사이클 (0) | 2021.06.14 |