본문 바로가기

Problem-solving/백준29

백준 - 플로이드(11404번) (Python3) https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n(1 ≤ n ≤ 100)이 주어지고 둘째 줄에는 버스의 개수 m(1 ≤ m ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 � www.acmicpc.net """ 플로이드 도시 : n개 버스 : m개 도시 이동 비용 최솟값? """ N_MAX = 100 M_MAX = 1000000 ''' row = from_city col = to_city cost_graph[from_city][to_city] = cost ''' cost_graph = [[0 for _ in range(N_MAX + 1)] for _ in range(.. 2020. 5. 21.
백준 - 그룹 단어 체커(1316번) (Python3) https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때� www.acmicpc.net """ 그룹 단어 체커 그룹 단어 : 단어 안에 존재하는 모든 종류의 문자는 각각 모여있어야 한다. """ N = int(input()) total_count_of_group_word = 0 for _ in range(N): input_word = input() char_list_of_current_word = [] current_char = ' ' is_grou.. 2020. 5. 21.
백준 - ATM(11399번) (Python3) https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net """ ATM N : 총 사람의 수 i번 사람이 걸리는 시간 = Pi """ N = int(input()) P_list = list(map(int, input().split(' '))) P_list.sort() for index_of_Pi in range(1, len(P_list)): P_list[index_of_Pi] += P_list[index_of_Pi - 1] print(sum(P_list)) 2020. 5. 21.
백준 - 동전0(11047번) (Python3) """ 동전 0 종류 : N가지 각 종류의 동전 : 무한대 총 동전 가치의 합 : K 동전 개수를 최소로 써야 함. 가장 큰 금액의 동전부터 나눔. """ N, K = map(int, input().split(' ')) A_list = [] for _ in range(N): A_list.append(int(input())) # 가치 내림차순으로 동전 정렬 A_list.sort(reverse=True) total_coin_count = 0 # 가치가 큰 동전부터 검사 for Ai in A_list: # 동전의 가치 Ai가 남은 총 동전 가치 K보다 크면 계산 불가 # 계산할 수 있는 동전들 중 가장 큰 가치를 가진 동전으로 계산 if Ai > K: continue # 총 동전의 개수는 남은 총 가치를 현재.. 2020. 5. 21.