[Python] 백준 1654. 랜선 자르기
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 문제 설명: 만약 4개의 랜선이 주어지고 11개의 랜선을 만들려고 할 때 최대 길이 갯수를 구하는 문제이다. 4개의 랜선은 예를 들면 [802, 743, 457, 539] 랜선의 길이가 주어진다. 최대 길이가 200일때 802cm 랜선에서 4개, 743cm 랜선에서 3개, 457cm 랜선에서 2개, 539cm 랜선에서 2개를 잘라내 모두 11개를 만들 수 있다. 이진탐..
[Python] 백준 9095번. 1,2,3 더하기
https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 정수 n 에 대해 1,2,3으로 합을 만들 수 있는 경우의 수를 구하는 문제이다. 여기서 주의: 1이 처음 빠진다고 해서 두번째에도 1이 들어 갈 수 있다. for문을 n이 0이 될때까지 돌려주면 된다. 반복되는 과정이기 때문에 재귀함수로 구현가능 def sum(n): def dfs(n, arr): for i in [1,2,3]: if n-i == 0: result.append(arr+[i]) return else: dfs(n-i, arr+[i]) result = [] dfs(n, []) ret..