BOJ/스택 3

23253. 자료구조는 정말 최고야 - AdHoc, 스택, 정렬. 파이썬

사용한 알고리즘 / 자료구조 스택 정렬 힙 정렬 접근한 방법 정렬을 이용한 접근법 '책 더미'(스택)의 정보를 M회 입력 받는다. '책 더미'를 입력받을 때마다 각 책 더미가 내림차순으로 정렬되어있는지 확인한다. 만약 단 하나의 '책 더미'라도 내림차순 정렬되어있지 않다면, 문제에서 요구하는 정렬 연산은 불가능하다. 'is_order_possible'이라는 변수에 '정렬이 불가능하다'는 정보를 기입한다. 반복문을 종료한다. '정렬' 가능 여부를 파악한다. 조건에 맞게 콘솔에 출력한다. 힙 정렬을 이용한 접근법 '책 더미'(스택)의 정보를 M회 입력 받는다. '책 더미'를 입력받을 때마다 각 책 더미의 가장 오른쪽 원소를 pop한다. 2번에서 pop된 원소를 '책 더미'의 index값과 함께 heap 에 ..

BOJ/스택 2022.01.15

16120. PPAP - 스택. 파이썬.

사용한 알고리즘 / 자료구조 스택 접근한 방법 스택으로 명세를 그대로 구현한다. 유사한 문제를 이미 풀어보아서 큰 고민 없이 스택으로 풀이했다. '9935 문자열 폭발'과 같은 문제다. https://programmer-565.tistory.com/18?category=999468 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 9935. 문자열 폭발 - 스택. 파이썬 9935. 문자열 폭발 사용한 알고리즘 / 자료구조 1. 스택..

BOJ/스택 2021.11.03

9935. 문자열 폭발 - 스택. 파이썬

9935. 문자열 폭발 사용한 알고리즘 / 자료구조 1. 스택 접근한 방법 1) 입력받은 문자열을 스택에 삽입한다. 2) 폭발 문자열이 생성되었는지 비교한다. 3) 폭발 문자열이 생성되었을 경우 스택에서 폭발 문자열의 길이만큼 문자들을 뺀다. 어려웠던 점 마지막 폭파 처리를 리스트의 슬라이싱으로 처리했다가 시간초과. 느낀 점 시간 복잡도에 항상 유의해야 한다. 같은 결과값을 내는 연산이라면 가장 빠른 방법을 선택해야 한다. 풀었을 때의 백준 티어 2021-10-09. 골드 2. import sys # 1. 입력 # 둘 다 상수이므로 대문자로 표기한다. INPUT_STRING = list(sys.stdin.readline().rstrip()) # 초기 문자열 BOMB = list(sys.stdin.read..

BOJ/스택 2021.10.13