본문 바로가기
728x90

알고리즘118

[JAVA]백준 1145번: 적어도 대부분의 배수 www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net 1. 문제 설명 5개의 정수가 주어졌을 때 그중 3개의 정수로 나누어지는 가장 작은 배수를 구하는 문제이다. 첫 번째 코드는 가능한 제일 작은 배수 4에서부터 가장 큰 배수 950600(100*98*97)까지 1씩 증가해가면서 3개 이상으로 나누어지는 수가 있는지 구하는 코드이다. 두 번째 코드는 3개씩 쌍을 만들어 3개의 최소공배수를 구하고 3개의 최소공배수의 최솟값을 찾는 방법이다. 첫 번째 코드가 더 효율적인 코드인 것 같다. 2. 코드 import java.lang.reflect.Array.. 2020. 11. 4.
[JAVA]백준 10819번: 차이를 최대로 www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 1. 문제 설명 N개의 정수가 주어질 때 |A [0] - A [1]| + |A [1] - A [2]| +... + |A [N-2] - A [N-1]|의 식이 최댓값을 구하는 문제이다. N개의 정수로 순열을 만들고 식을 계산하여 최댓값을 구하면 된다. 순열 알고리즘의 경우 재귀함수 알고리즘을 사용했는데 좀 더 효율적인 순열 알고리즘으로 대체하면 좋을 듯하다. 2. 코드 import java.lang.reflect.Array; .. 2020. 11. 3.
[JAVA]백준 1940번: 주몽 www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 1. 문제 설명 N개의 재료가 주어지고 재료 중 2개를 합쳐서 M이 되는 재료의 쌍의 개수를 구하는 문제이다. 2. 코드 간단한 방식으로 푼 코드이다. 최대 입력 가능한 범위까지 boolean 배열을 만들고 boolean [재료]를 true로 설정한다. 그 후 한 재료와 합쳐져서 M이 될 수 있는 재료의 boolean 값이 true인지 false인지 확인한다. import java.la.. 2020. 11. 2.
[JAVA]백준 15658번: 연산자 끼워넣기 (2) www.acmicpc.net/problem/15658 15658번: 연산자 끼워넣기 (2) 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1보다 크거나 같고, 4N보다 작거나 같은 4개의 정수가 주어지는데, 차례대� www.acmicpc.net 1. 문제 설명 14888번 연산자 끼워넣기와 동일한 문제이다. www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧.. 2020. 10. 14.
728x90