[백준] 드디어 실버에서 골드로
짜쟌 하루에 평균 한 문제씩 2달간 풀면 브론즈에서 골드로 넘어갈 수 있는 것 같다. 마지막 문제는 특정 지점을 경유해서 1번에서 n번 노드로 가는 최단 경로를 구하는 문제였다. 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 내가 푼 풀이 # BOJ_1504 # 1. (1, v1) + (v1, v2) + (v2, n) # 2. (1, v2) + (v2, v1) + (v1, n) # 1과 2중 최솟값..
2023. 3. 3.
[백준] 1629번 분할정복 알고리즘
https://www.acmicpc.net/problem/1629 1629번: 곱셈 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. www.acmicpc.net # BOJ_1629 # 입력 a, b, c = map(int, input().split()) # result = (a ** b) % c result = 1 for i in range(b): result *= a result %= c print(result) 분할정복 알고리즘 순서 1. 분할 해결할 문제를 시간복잡도를 낮추기 위해서 여러 개의 작은 부분 문제들로 분할한다. 2. 정복 나눈 작은 문제들을 각각 해결한다. 3. 통합 필요 시 해결된 해답을 모은다 # ..
2023. 2. 25.