다이나믹 22

[B14501][퇴사][java]

https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; // 최대 수익을 구하는 프로그램이고 문제 흐름 상 dp 문제 같았다. // 해당 일정마다 순회하면서, (해당 일자 + 걸리는 기간) dp 를 갱신하는 방식 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReade..

BAEKJOON/Java 2023.10.10

[B1149][RGB거리][java]

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 풀이 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // dp 를 1차원 or 2차원을 고민하고 나서 부터는 금방 풀었던 거 같다. // 해당 색을 칠한다고 가정, 전꺼에서 해당 색 제외한 색 비용 중 작은 ..

BAEKJOON/Java 2023.10.08

[B11722][가장 긴 감소하는 부분 수열][java]

https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public..

BAEKJOON/Java 2023.10.08

[B2156][포도주 시식][java]

https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // 6, 10, 13, 9, 8, 1 // 6 16 23 32 33 public class Main { public static void main(String[] args) throw..

BAEKJOON/Java 2023.10.08

[B1912][연속합][java]

https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOExc..

BAEKJOON/Java 2023.10.08

[B11726][2×n 타일링][java]

https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // 표로 그리면서 규칙 볼 때까지 그리다가 찾았다. // n 이 9 일 때의 값이랑 답 55 이랑 맞을 때 기분 좋았다. // 마지막에 좀 틀렸는데 나머지 나누는 걸 깜빡했다. 조건 잘 확인하기 p..

BAEKJOON/Java 2023.10.08

[B1915][가장 큰 정사각형][java]

https://www.acmicpc.net/problem/1915 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buff..

BAEKJOON/Java 2023.10.08

[B10844][쉬운 계단 수][java]

풀이 길이가 N인 인접한 모든자리가 1인 수 n = 1 1 2 3 4 5 6 7 8 9 n = 2 10 21 12 32 23 43 34 54 45 65 56 76 67 87 78 98 89 10 / 12 21 / 23 32 / 34 43 / 45 54 / 56 65 / 67 76 / 78 87 / 89 98 n = 3 210 101 121 321 212 232 432 123 323 343 543 234 434 454 654 345 545 565 765 … 567 767 787 987 678 878 898 789 989 끝 자리가 0 = 1 1 = 0, 2 2 = 1, 3 … 8 = 7, 9 9 = 8 코드 import java.io.BufferedReader; import java.io.IOExcepti..

BAEKJOON/Java 2023.10.07

[B11055][가장 큰 증가하는 부분 수열][java]

https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가하는 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; // 처음에 실패했던 이유는 그냥 dp 전 꺼랑만 비교해서 // 맨 뒤부터 클 때마다 갱신하고 했었는데 그 더 이전의 값이..

BAEKJOON/Java 2023.10.07

[B17626][Four Squares][java]

https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 코드 (DP x) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class B17626_Before { public static void m..

BAEKJOON/Java 2023.10.07

[B1003][피보나치 함수][C++]

#include using namespace std; long long fibo[50] = { 0,1, }; // 0 개수 : 1 0 1 1 2 3 5 ... = 맨 앞이 1이고 다음부터 0부터 시작하는 피보나치 // 1 개수 : 0 1 1 2 3 5 ... = 0부터 시작하는 피보나치 int fibonacci(int n) { if (n == 0 || n == 1) return fibo[n]; if (fibo[n] == 0) return fibo[n] = fibonacci(n - 1) + fibonacci(n - 2); else return fibo[n]; } int main(void) { int t; cin >> t; while (t--) { int n; cin >> n; if (n == 0) cout

BAEKJOON/C++ 2021.06.09