본문 바로가기

분류 전체보기239

[백준 *Java] - 오르막 수 (11057) 오르막 수 문제보기 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 문제 설명 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111 은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오 수는 0으로 시작할 수 있다. 입력 첫째 줄에 N( 1 2022. 3. 25.
[백준 *Java] - 동물원 (1309) 동물원 문제보기 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 문제 설명 어떤 동물원에 가로로 두칸 세로로 N칸인 아래와 같은 우리가 있다. 이 동물원에는 사자들이 살고있는데 사자들을 우리에 가둘 때, 가로로도 세로로도 붙어 있게 배치할 수는 없다. 이 동물원 조련사는 사자들의 배치 때문에 골머리를 앓고 있다. 동물원 조련사가 머리가 아프지 않도록 우리가 2 * N 배열에 사자를 배치하는 경우의 수가 몇 가지인지를 알아내는 프로그램을 작성해주도록 하자. 사자를 한 마리도 배치하지 않는 경우도 하나의 경우의 수로 친다고 가정하자. 입력 첫째 줄에 우리의 크기 N(i 2022. 3. 24.
[백준 *Java] - RGB 거리 (1149) RGB 거리 문제보기 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 설명 RGB 거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. - 1번 집의 색은 2번 집의 색과 같지 않아야한다. - N번 집의 색은 N-1번 집의 색과 같지 않아야한다. - i.. 2022. 3. 23.
[백준 *Java] - 합분해 (2225) 합분해 문제 보기 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 설명 0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오. 덧셈의 순서가 바뀐 경우는 다른 경우로 센다 (1+2와 2+1은 서로 다른 경우) 또한 한 개의 수를 여러번 쓸 수도 있다. 입력 첫째 줄에 두 정수 N(1 005*3 014*6 023*6 122*3 113*3 = 18개 : DP[5][0] = 15, DP[5][1]= 6 N이 6일 때, 0 1 2 3 4 5 6 => 006*3 015*6 114*3 024*6 033*3 123*6 222 = 28개 : DP[6][0] = 18, DP[6][1]= 9 (+1) N이.. 2022. 3. 23.
[백준 *Java] - 제곱수의 합 (1699) 제곱수의 합 문제 보기 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 문제 설명 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11 = 3² + 1² + 1² (3개 항) 이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11 = 2² + 2² + 1² + 1² + 1² (5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 "11은 3개 항의 제곱수 합으로 표현할 수 있다." 라고 말한다. 또한 그보다 적은 항의 제.. 2022. 3. 23.
[백준 *Java] - 연속합 (1912) 연속합 문제보기 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 설명 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12 + 21인 33이 정답이된다. 입력 첫째 줄에 정수n (1 max ? accumulate : max; } DP[i] = max; } Sys.. 2022. 3. 22.
[백준 *Java] - 가장 긴 증가하는 부분 수열 (11053) 가장 긴 증가하는 부분 수열 문제보기 문제 설명 수열 A 가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 ? {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. {10, 20, 30, 50} 입력 첫째 줄에 수열 A의 크기 N(1 2022. 3. 21.
[백준 *Java] - 이친수 (2193) 문제 설명 0과 1로 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 1. 이친수는 0으로 시작하지 않는다. 2. 이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지않는다. 예를 들면, 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만, 0010101 이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다. N(1 2022. 3. 21.