본문 바로가기

분류 전체보기142

파이썬) 백준 알고리즘 | 1932번 : 정수 삼각형 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 이 경우에서는 7 10 15 18 16 15 20 25 20 19 24 30 27 26 24 이런식으로 각 줄마다 합이 최대가 되는 경로의 수를 만들면 됩니다. n = int(input()) nums = [] for i in range(n): a = list(map(int, input().split())) a.extend([0] * (500- len(a))) nums.append(a) for i in range.. 2022. 7. 5.
파이썬) 백준 알고리즘 | 2156번 : 포도주 시식 n = int(input()) nums = [] dp = [0] * 10001 for i in range(n): nums.append(int(input())) dp[0] = nums[0] if len(nums) > 1: dp[1] = nums[0] + nums[1] if len(nums) > 2: dp[2] = max(nums[0]+nums[2], nums[1] + nums[2], nums[0] + nums[1]) for i in range(3,n): dp[i] = max(dp[i-3] + nums[i-1] + nums[i], dp[i-2] + nums[i], dp[i-1]) print(dp[n-1]) https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도.. 2022. 7. 5.
파이썬) 백준 알고리즘 | 13975번 : 파일 합치기 3 https://www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 풀이 파일을 heap에 넣고 가장 작은 두 개를 빼고 더해서 다시 heap에 넣어줍니다. 그 과정에서 더한 값은 cnt에 더해주고 마지막에 cnt를 출력해주면 됩니다. import heapq t = int(input()) for _ in range(t): n = int(input()) nums = list(map(int, input().split())) heap = [] for num in n.. 2022. 7. 1.
파이썬) 백준 알고리즘 | 15903번 : 카드 합체 놀이 https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 풀이 우선순위 큐를 이용하여 풀었습니다. 카드 숫자를 heap 배열에 넣고 m번동안 가장 작은 힙 2개를 pop하고 더해서 다시 push하는 방식으로 구현하였습니다. import heapq n, m = map(int, input().split()) cards = list(map(int, input().split())) heap = [] for card in c.. 2022. 7. 1.