거북이개발자

[백준 1874] 스택 수열 본문

Algorithm(Python)/BaekJoon

[백준 1874] 스택 수열

류정식 2021. 1. 13. 11:08

0. 제목

  • 백준 1874 스택 수열

 


1. 문제

 

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. 풀이

  • 원하는 값까지 카운트를 올린다.
  • 그뒤 맞는 값이 나오면 pop시켜준다.

3. 코드

n=int(input())
count=1
stack=[]
result=[]


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:
        print('NO')
        exit(0)
        
print('\n'.join(result))    

 

4. 깨달은점

  • stack을 좀더 간편하게 사용가능하다.
  • list[-1]은 맨앞 값을 출력한다.
  • join 메소드는 유용하다.

'Algorithm(Python) > BaekJoon' 카테고리의 다른 글

[백준 1427] 소트인사이드  (0) 2021.01.18
[백준 1920] 수 찾기  (0) 2021.01.16
[백준 10390]SHA-256  (0) 2021.01.16
[백준 1966] 프린터 큐  (0) 2021.01.14
[백준 2920] 음계  (0) 2021.01.11
Comments