Python8 백준 알고리즘 23단계 동적 계획법 2- 파일 합치기(11066번) Python 이번에 풀어볼 문제는 백준 알고리즘의 파일 합치기 문제이다. 해당 문제에 대한 링크는 아래와 같다. https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net 1. 문제 확인 2. 문제 풀이 dp[0][m-1]+dp[m][m] import sys n=int(input()) while n>0: n-=1 K=int(input()) file_list=list(map(int,sys.stdin.readline().split())) dp=[[0 for _ .. 2021. 6. 1. 백준 알고리즘 23단계 동적 계획법 2- 동전1(2293번) Python 이번에 풀 문제는 동전 1 이다. 해당 문제에 대한 링크는 아래와 같다. https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제 확인 2. 문제 풀이 각각의 경우의 수에서 중복된 경우의 수를 생각하는 경우였다. 예를 들면 4의 경우의 수는 4점을 만들기 위해 2점까리 동전을 사용하였을 때, 4-2를 하면 2가 나온다. 이때 나오는 2의 경우는 2이므로 2를 적어주는 논리이다. from sys import stdin n, k = map(int,.. 2021. 6. 1. 백준 알고리즘 22단계 우선 순위 큐 - 큐의 절댓값 힙(11286번) Python 이번에 풀어볼 문제는 큐의 절댓값 힙 문제이다. 해당 문제에 대한 링크는 아래에서 확인할 수 있다. https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 1. 문제 확인 2. 문제 풀이 from queue import PriorityQueue import sys input = sys.stdin.readline queue = PriorityQueue() n = int(input()) for i in range(n): now = i.. 2021. 5. 25. 백준 알고리즘 19단계 큐, 덱- 요세푸스 문제 0 (11866번) Python 이번에 풀 문제는 요세푸스 문제 0이다. 문제의 링크는 아래에서 확인할 수 있다. www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 1. 문제 확인 2. 문제 풀이 원형 큐 문제이다. from collections import deque N, K = map(int, input().split()) m = deque([]) for i in range(1, n + 1): m.append(i) print('') 2021. 5. 4. 백준 알고리즘 19단계 큐, 덱- 카드2 (2164번) Python 이번에 풀 문제는 카드 2라는 문제이다. 문제는 아래 사이트에서 확인할 수 있다. www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 1. 문제 확인 2. 문제 풀이 카드의 수가 1이 될 때까지 반복하면 되는 문제이다. 즉, 큐 문제이므로 큐의 길이가 1이 될 때까지 반복하면 된다. from collections import deque n = int(input()) q = deque([i for i in range(1,n+1)]) while len(q) > 1:.. 2021. 5. 4. 백준 알고리즘 20단계 스택 - 제로 (10773)Python 1. 문제 확인 2. 문제 풀이 2020. 8. 9. 이전 1 2 다음