nonneng.ee
Daeun-rithm
nonneng.ee
전체 방문자
오늘
어제
  • 분류 전체보기 (51)
    • Back-end (17)
      • Server (3)
      • Database (3)
      • Spring (9)
      • Node.js (1)
    • Book (1)
      • 이펙티브 자바 (0)
      • 대규모 시스템 설계 (1)
    • Algorithm (1)
      • Greedy, Implementation (6)
      • Dynamic Programming (5)
      • Data Structure (3)
      • Sorting (2)
      • Concept (1)
    • TIL (11)
    • Software (3)
      • Design Pattern (3)
    • Computer Science (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Spring
  • 우분투
  • JPA
  • 구동원리
  • 아이템6
  • 백준
  • 이펙티브 자바
  • 자바
  • Restful API
  • APM
  • 아이템9
  • 구현
  • 파이썬
  • DP
  • 수동설치
  • Java
  • 컴파일설치
  • 서버
  • 가상머신
  • API
  • 아이템 23
  • 아이템8
  • 에러
  • jwt
  • Postman
  • node js
  • MySQL
  • 아이템 25
  • 브루트포스
  • 소스설치

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nonneng.ee

Daeun-rithm

Algorithm/Greedy, Implementation

[Python] 백준 #1874 스택 수열

2021. 6. 23. 01:53

1874번: 스택 수열 (acmicpc.net)

 

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

 

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
31
32
N = int(input()) #수열의 크기 N
 
des = []   # 만들고자 하는 수열 des
stack = []   # 원소들을 push, pop 리스트
new_des = []   # pop한 원소들 저장 리스트
res = []   # +, - 저장 리스트
 
count = 0
 
for i in range (N) :
    des.append(input())  #만들고자 하는 수열 받아서 저장 
 
i = 1 
for _ in range (N) :
    while (i <= int(des[count])) :
        stack.append(i)
        i += 1
        # pop 해야하는 숫자가 stack에 들어갈 때 까지 append
        res.append('+')
 
    if (int(des[count]) == stack[len(stack) - 1]) :
        new_des.append(stack.pop())
        # stack의 맨 위의 수 == 뽑아야하는 수 -> pop
        res.append('-')
        count += 1
 
# stack 수열 만들 수 있는지 확인
if len(stack) != 0 
    print("NO")
else :
    print("\n".join(res))
 
Colored by Color Scripter
cs
  • stack을 사용하여 주어진 수열을 만들 수 있으려면, for문이 끝나고 나서 stack 리스트에 남은 원소가 없어야 한다.
  • 원하는 숫자가 stack 리스트의 맨 뒤에 있어야 한다.

'Algorithm > Greedy, Implementation' 카테고리의 다른 글

[Python] 백준 #7568 덩치  (0) 2022.02.26
[Python] 백준 #1181 단어 정렬  (0) 2021.06.21
[Python] 백준 #1085 직사각형에서 탈출  (0) 2021.06.21
    'Algorithm/Greedy, Implementation' 카테고리의 다른 글
    • [Python] 백준 #18111 마인크래프트
    • [Python] 백준 #7568 덩치
    • [Python] 백준 #1181 단어 정렬
    • [Python] 백준 #1085 직사각형에서 탈출
    nonneng.ee
    nonneng.ee

    티스토리툴바