[백준/Python] 1874. 스택 수열

2024. 11. 19. 21:54·코딩테스트/BAEKJOON
728x90
반응형

 📌문제 유형: 스택

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

 

 


📌 풀이 

 

처음에 문제를 이해하지 못해서 꽤나 헤맸었다.. (입력된 수열로 오름차순을 만들라는 줄 알고)

 

찬찬히 문제를 읽어보면, 

 

1. 1~n의 수를 이용한다. 

2. push는 오름차순으로 진행한다. 

3. 입력된 수열이 스택에서 push/pop한 결과물이어야 한다. 

 

따라서 1부터 n까지 직접 적어보며 push와 pop을 언제하게 되는지 해보면 된다. 

 

1번 예제로 설명해보면, 입력이 8 4 3 6 8 7 5 2 1 이다. 

N = 8이고 결과 수열 = 4 3 6 8 7 5 2 1
add = 1로 카운트해보자. 

add = 1 ~ 4까지 push 
pop
pop ==> 4 3 완료 / stk = 1 2
add = 5, 6 push 
pop ==> 4 3 6 완료 / stk = 1 2 5
add = 7, 8 push (add == N이므로 push stop) 
pop 
pop
pop
pop
pop ==> 4 3 6 8 7 5 2 1 완료 

 

이때 push 할 때는 '+'를, pop할 때는 '-'를 출력하면 된다. 

 

이를 코드로 구현하게 되면 아래와 같다. 

 

n = int(input())
stack = []
ops = []
add = 1
able = True
for i in range(n):
    x = int(input())
    while add <= x:
        stack.append(add)
        ops.append('+')
        add += 1
    if stack[-1] == x:
        stack.pop()
        ops.append('-')
    else:
        able = False
        break
if able:
    for i in ops:
        print(i)
else:
    print("NO")

 

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'코딩테스트 > BAEKJOON' 카테고리의 다른 글

[백준/Python] 15652. N과 M (4)  (1) 2024.11.20
[백준/Python] 11866. 요세푸스 문제 0  (1) 2024.11.20
[백준/Python] 11403. 경로 찾기  (1) 2024.11.19
[백준/Python] 14940. 쉬운 최단거리  (0) 2024.11.19
[백준/Python] 1463. 1로 만들기  (1) 2024.11.18
'코딩테스트/BAEKJOON' 카테고리의 다른 글
  • [백준/Python] 15652. N과 M (4)
  • [백준/Python] 11866. 요세푸스 문제 0
  • [백준/Python] 11403. 경로 찾기
  • [백준/Python] 14940. 쉬운 최단거리
heeya16
heeya16
개발 공부 냠냠
  • heeya16
    개발자 희야
    heeya16
  • 전체
    오늘
    어제
    • 분류 전체보기 (106)
      • 코딩테스트 (66)
        • 프로그래머스 (38)
        • SWEA (2)
        • BAEKJOON (26)
      • 알고리즘 (7)
      • 자료구조 (19)
      • 프로젝트 (5)
      • 취업 주르륵 (3)
      • 데이터베이스 (0)
      • IT지식 (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    1003
    10448
    10773
    10월
    10진수
    11047
    11399
    11403
    11866
    1449
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
heeya16
[백준/Python] 1874. 스택 수열
상단으로

티스토리툴바