스택 3

18352. 특정 거리의 도시 찾기 - 파이썬. BFS, 큐

1. 사용한 알고리즘 | 자료 구조 BFS 큐 2. 풀이 접근 방식 전형적인 BFS 문제입니다. K회 만큼 BFS 연산 후 Queue 에 있는 값을 정렬, 출력합니다. 3. 특이사항 Stack 2개를 스왑하는 방식으로 사용하여 deque 를 import 하지 않고 BFS 알고리즘을 구현할 수 있습니다. 4. 언어 | 실행시간 | 메모리 사용량 Python3 | 1264ms | 97164kb from sys import stdin def solution(): # 1. 입력 # N: 정점의 수 | M: 간선의 수 # K: BFS 연산 횟수 | X: BFS 연산 시작점 N, M, K, X = map(int, stdin.readline().split()) # 2. 선언 # 2-1. paths: 간선 정보 pat..

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

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

BOJ/스택 2022.01.15

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
1