[백준] 1912번, 연속합 (Python)
·
알고리즘/백준
문제 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 n = int(input()) total = list(map(int, input().split())) dp = [0 for _ in range(n)] dp[0] = total[0] for i in range(1, n): dp[i] = max(total[i] + dp[i-1], total[i]) print(max(dp)) DP문제이고, 연속된 몇개의 수를 선택하여 가장 큰 값을 출력하는 문제이다. ..
[백준] 10815번, 숫자 카드 (Python)
·
알고리즘/백준
문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 n = int(input()) answer = list(map(int, input().split())) m = int(input()) check = list(map(int, input().split())) answer.sort() result = [] for target in check: l = 0 r = len(answer)-1 while l target..
[프로그래머스] Level3, 가장 먼 노드 (Python)
·
알고리즘/프로그래머스
문제 https://programmers.co.kr/learn/courses/30/lessons/49189?language=python3 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 코드 import collections def solution(n, edge): answer = 0 graph = [[] for _ in range(n+1)] visited = [False for _ in range(n+1)] distance = [0 for i in range(n+1)] for i in edge: graph[i[0]].append(i[1]) graph[i[1]].append(i[..
[백준] 1162번, 도로포장 (Python)
·
알고리즘/백준
문제 https://www.acmicpc.net/problem/1162 1162번: 도로포장 첫 줄에는 도시의 수 N(1 ≤ N ≤ 10,000)과 도로의 수 M(1 ≤ M ≤ 50,000)과 포장할 도로의 수 K(1 ≤ K ≤ 20)가 공백으로 구분되어 주어진다. M개의 줄에 대해 도로를 연결짓는 두 도시와 도로를 통과하 www.acmicpc.net 코드 import heapq import sys input = sys.stdin.readline INF = sys.maxsize n, m, k = map(int, input().split()) graph = [[] for _ in range(n+1)] distance = [[INF for _ in range(k+1)] for _ in range(n+1)] ..