일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 최단경로
- javascript
- 다익스트라
- DFS
- 섬연결하기
- 두큐합같게만들기
- 구현
- 위상정렬
- 큐
- BFS
- 프림알고리즘
- 17404
- 징검다리건너기
- [1차]캐시
- 파괴되지않은건물
- 그래프탐색
- 알고리즘
- 도넛과막대그래프
- 백준
- 최소스패닝트리
- DP
- 거리두기확인하기
- 트리의지름
- 프로그래머스
- 이모티콘할인행사
- RGB거리2
- 사이클게임
- 벽부수고이동하기
- 자물쇠와열쇠
- Today
- Total
목록다익스트라 (4)
블로그 이름 뭐로 하지
문제 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 그냥 정한 문제인데 문제를 보니까 마침 우리가 요새 많이 풀고 있는 최단경로 문제라서 반가웠다. 백준에서 최단경로 문제를 푸는것도 좋지만 해당 알고리즘이 어떤식으로 코테에서 나오나...궁금했는데 활용 문제 느낌? 이어서 딱 좋은 타이밍에 푼 것 같다. 문제를 처음 봤을 때 함께 타고 가는 걸 어떻게 처리할지가 고민이었다. 왜냐면 함께 타는건 한번만 더해줘야 하고 각자 따로 타는건 따로..
문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 풀이 그냥 정말 다익스트라 기초 문제. 2달 전에 풀었던 문제인데 메모리 초과, 시간초과, 맞았습니다... 라고 돼있어서 좀 걱정했는데 아니나다를까 이번 처음 풀이도 시간 초과가 떴다. ㅠㅠ 뭐가 문제인지 고민했는데 혹시나..하고 input을 sys로 고쳐줬더니 바로 정답. 아오 이럴 때마다 아주 킹이 받는다. 풀이 적을 것도 없이 일반 다익스트라 문제고..

문제 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net 풀이 어쩌다보니 오늘은 다 최단경로 알고리즘 문제... ! 이거는 예전에 풀었던 문제고, 아까 다익스트라를 풀었어서 바로 풀었다. 처음엔 간선이 양방향인데 단방향으로만 추가해줘서 틀렸습니다가 떴고, 두 번째엔 1e9 부분에서 -1을 출력해줘야 하는데 그 부분에서 ==과 >= 처리를 잘못해서 틀렸습니다를 몇 번 겪고난 후에 ^ __ ^ 정답을 띄울 ..
문제 https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 풀이 2달전 시도했다가 시간초과로 실패했던 문제였다. 당시 다익스트라 뽀개기를 했던걸로 기억하는데... 우선 오늘 다시 이 문제를 봤을 때는 플로이드 워셜이 떠올랐다. 그래서 플로이드로 풀었더니 시간 초과가 떴다. ㅎㅎ n,m,x = map(int,input().split()) graph = [[1e9] * (n+1) for _ in range(n+1)] for..