[백준/Python] 1874번 - 스택 수열

2023. 9. 2. 01:26·Algorithm/BaekJoon
import sys
input = sys.stdin.readline

n = int(input())

result = []
stack = []

i = 1
for _ in range(n):
  target = int(input())

  if not stack or stack[-1] < target:
    for num in range(i, target + 1):
      stack.append(num)
      result.append('+')
    i = target + 1
  
  if stack[-1] == target:
    stack.pop()
    result.append('-')
  else:
    break

if stack:
  print('NO')
else:
  print(*result, sep='\n')

 

문제에서 하라는 대로 따라가면서 풀면 된다.

그리고 어떤 경우에 수열이 만들어지지 않는지 생각해보자.

stack의 top 숫자가 현재 순서의 수열 숫자 보다 작을 경우는, 숫자를 스택에 더 채워넣어 원하는 숫자로 맞춰주면 되지만,

stack의 top 숫자가 현재 순서의 수열 숫자 보다 클 경우는, pop()을 하는 순간 수열이 깨지고, 숫자를 더 채워넣어도 도움이 없으므로 수열을 완성시킬 수 없다.

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

[백준/Python] 2573번 - 빙산  (0) 2023.09.06
[백준/Python] 2170 - 선 긋기  (0) 2023.09.02
[백준/Python] 2493번 - 탑  (0) 2023.09.01
[백준/Python] 10828번 - 스택  (0) 2023.09.01
[백준/Python] 15903번 - 카드 합체 놀이  (0) 2023.09.01
'Algorithm/BaekJoon' 카테고리의 다른 글
  • [백준/Python] 2573번 - 빙산
  • [백준/Python] 2170 - 선 긋기
  • [백준/Python] 2493번 - 탑
  • [백준/Python] 10828번 - 스택
빵빵0
빵빵0
(아직은) 공부하고 정리하는 블로그입니다.
  • 빵빵0
    Hack Your World
    빵빵0
  • 전체
    오늘
    어제
    • 분류 전체보기 (92)
      • Error Handling (7)
      • Project (5)
        • MEV (2)
      • Architecture (0)
        • API (0)
        • Cache (0)
        • 사소한 고민거리 (0)
      • Computer Science (4)
        • Data Structure (2)
        • Database (1)
        • Cloud (0)
        • OS (0)
        • Infra, Network (1)
        • AI (0)
      • Language (8)
        • Go (8)
        • Rust (0)
        • Python (0)
        • Java (0)
      • Algorithm (40)
        • BaekJoon (18)
        • Programmers (7)
        • LeetCode (6)
        • NeetCode (9)
      • SW Books (9)
        • gRPC Up & Running (1)
        • System Design Interview (2)
        • 스프링 입문을 위한 자바 객체지향의 원리와 이해 (6)
        • 블록체인 해설서 (0)
        • 후니의 쉽게 쓴 CISCO 네트워킹 (0)
      • BlockChain (4)
        • Issues (0)
        • Research (4)
        • Tech (0)
      • Own (8)
        • TIR(Today I Read) (3)
        • Personal (2)
        • Novel (0)
        • Memo (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    Greedy
    ethereum
    LeetCode
    KBW
    큐
    Hash Table
    BFS
    Programmers
    chart
    BEAKJOON
    EVM
    candlechart
    프로그래머스
    golang
    MongoDB
    go
    NeetCode
    two pointer
    BaekJoon
    blockchain
    DP
    스택
    백준
    블록체인
    goroutine
    Palindrome
    context
    MEV
    2024
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
빵빵0
[백준/Python] 1874번 - 스택 수열
상단으로

티스토리툴바