| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Python
- 그래프
- sort
- kakao
- 힙큐
- 완전탐색
- 카카오
- 스택
- boj
- Backjoon
- 삼성
- 자료구조
- javascript
- Blind
- algorithm
- 알고리즘
- 싸피
- DP
- 백준
- 다이나믹프로그래밍
- BFS
- 코딩테스트
- 코테
- 프로그래머스
- 자바스크립트
- SW역량테스트
- SWEA
- SSAFY
- 파이썬
- DFS
- Today
- Total
목록보급로 (2)
맞왜틀
문제 해결 1. D4 | BFS 2. 각 지점에서 걸리는 시간 리스트(인풋 값)와, 각 지점까지 가는데 걸리는 누적 시간 리스트를 가지고 시작한다. 3. 전에 방문 여부와 상관없이 각 지점에서 상하좌우 4방향을 탐색하며, 현재까지 걸린 시간과 다음칸에서 소모할 시간을 더한 값이 다음 칸까지 걸리는 시간보다 작으면 그 칸으로 이동한다. 4. 모든 가능성을 다 탐색하고 리스트의 마지막지점을 출력한다. 🐱💻 원래는 다익스트라 알고리즘으로 힙큐를 사용해서 풀려고 했는데 생각이 안나서 BFS 랑 최솟값 리스트를 활용해서 풀었다. 소스 코드 from _collections import deque for tc in range(1, 1 + int(input())): n = int(input()) maps = [lis..
1. 보급로 문제 해결 1. 다익스트라 알고리즘 + 힙큐 2. 가중치 리스트와 방문 리스트를 만들어 준다. 3. 힙큐를 이용해 가중치가 가장 낮은 점을 선택하고 4. 주변을 탐색하여 최소 가중치를 선택해 가중치를 점점 누적해 나아간다. 소스 코드 import heapq for tc in range(1, 1+int(input())): n = int(input()) maps = [list(map(int, list(input()))) for _ in range(n)] # dist: 가중치를 누적한 리스트, visit: 선택했는지 안했는지 dist = [[float('inf')]*n for _ in range(n)] visit = [[False]*n for _ in range(n)] dx, dy = [-1, 1..