본문 바로가기

알고리즘

(3)
[알고리즘/파이썬] 백준 알고리즘 1744번, 수 묶기 문제 출처 : www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 문제 정리 : 이번 문제는 주어진 수를 이용해 합할 때 최대 값을 구해서 출력하는 것이다. 수열 내에서 두개의 수를 묶을 수 있고, 묶은 수는 서로 곱한 후 다른 수와 더한다. 순서는 고려하지 않는다. 수열의 모든 수는 한 번만 묶일 수 있다. : 예를 들어 {3, 9, 1, 2, 0} 의 수열이 들어오면 구할 수 있는 최대 합은 0 + 1 + 2 + ( 3 * 9 ) = 30 이다. : 수열의..
[알고리즘/파이썬] 백준 알고리즘 11047번, 동전 0 문제 출처 : www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 정리 문제는 간단하다. 총 N 종류의 동전을 가지고, 각 동전을 이용해서 K 원을 만들 때 필요한 동전 개수의 최솟값을 구하는 것. 동전의 가치는 오름차순으로 들어온다. 문제 풀이 - 동전이 들어올 때, 1부터 들어오기 때문에 K원을 만들 수 없는 경우는 없다. - K원을 만들기 위한 최소값을 구하기 위해서는 큰 가치를 가진 ..
[알고리즘/파이썬] 백준 알고리즘 1783번, 병든 나이트 알고리즘 풀기만 하고 정리를 하지 않으니, 어떻게 풀었는지에 대한 기억이 남질 않아서 간단한 문제푸터 정리해 볼까 한다. (ㅋㅋㅋ) 하루에 몰아풀지말고 꾸준히좀 풀어야지.. 문제 출처 : www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 정리 이 문제에서 나이트가 이동할 수 있는 방법은 다음 네가지 뿐이다. 2칸 위로, 1칸 오른쪽 1칸 위로, 2칸 오른쪽 1칸 아래로, 2칸 오른쪽 2칸 아래로, 1칸 오른쪽 나이트는 N x M 크기의 체스판의 가장 왼쪽 아래에서 시작하며, 위의 방법을 이용하여 이동할 수 있다. 이때 ..