Notice
Recent Posts
Recent Comments
Link
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

차근차근

[백준 1874] 스택 수열 본문

대학교/Algorithm

[백준 1874] 스택 수열

SWKo 2020. 9. 3. 23:15

0. 제목

  • 백준 1874 스택 수열
  • BOJ 1874 스택 수열
  • Python 1874 스택 수열

1. 문제

https://www.acmicpc.net/problem/1874

 

1874번: 스택 수열

1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다.

www.acmicpc.net


2. 풀이

  • 스택에 원소를 삽입할 때는, 단순히 특정 수에 도달할 때까지 삽입하면 된다.
  • 스택에서 원소를 연달아 빼낼 때 내림차순을 유지할 수 있는지 확인한다.

3. 코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
= int(input())
 
count = 1
stack = []
result = []
flag = True
 
for i in range(1, n+1):
    data = int(input())
    while count <= data:
        stack.append(count)
        count += 1
        result.append('+')
    if stack[-1== data:
        stack.pop()
        result.append('-')
    else:
        flag = False
        
if flag:
    print('\n'.join(result))
else:
    print('NO')

 

'대학교 > Algorithm' 카테고리의 다른 글

[백준 1260] DFS와 BFS  (0) 2020.09.05
[백준 2110] 공유기 설치  (0) 2020.09.04
[백준 1302] 베스트 셀러  (0) 2020.09.02
[백준 1236] 성 지키기  (0) 2020.09.02
[백준 1668] 트로피 진열  (0) 2020.08.30
Comments