*문제 출처는 백준에 있습니다.
문제 제목: 스택 수열 / 1874번 (실버 2단계)
문제 사이트: https://www.acmicpc.net/problem/1874
문제 설명

나의 풀이
def solution():
n = int(input())
answer = []
stack = [] # Stack
arr = [i for i in range(n, 0, -1)] # 배열
result = [] # 원하는 수열
for _ in range(n):
num = int(input()) # 원하느 수열 값 넣는 것
result.append(num)
idx = 0 # 인덱스
while arr:
current_pop = arr.pop() # 현재 pop()
# 기본적으로 계속 넣어야함
stack.append(current_pop)
answer.append('+')
# 뒷 부분이 같은 경우
if stack[-1] == result[idx]:
while stack and stack[-1] == result[idx]:
stack.pop()
answer.append('-')
idx += 1
if not stack:
for i in answer:
print(i)
else:
print('NO')
solution()

※ 알아야 할 것
스택을 이용하여 문제를 해결하셔야 합니다.
'Coding Test > 백준-Python' 카테고리의 다른 글
| 백준 / 촌수계산 / 2644번 / Python (0) | 2025.06.06 |
|---|---|
| 백준 / 킥다운 / 1195번 / Python (0) | 2025.06.02 |
| 백준 / 리모컨 / 1107번 / Python (0) | 2025.05.28 |
| 백준 / 네트워크 연결 / 1922번 / Python (0) | 2025.05.27 |
| 백준 / 가장 긴 감소하는 부분 수열 / 11722번 / Python (0) | 2025.05.27 |