목록생활 (730)
No Rules Rules
포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/2156 #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[10001], dp[10001] = { 0 }; cin >> N; ..
연속합 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/1912 #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[100001], dp[100001]; cin >> N; for (register ..
가장 긴 증가하는 부분 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/11053 #include #include using namespace std; int main() { register int N, arr[1001] = { 0 }, dp[1001] = { 0 }; cin ..
계단 오르기 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/2579 #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[301] = { 0 }, dp[301] = { 0 }; cin >> N; for (regist..
RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/1149 #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[1001][3];// 빨강, 초록, 파랑 ci..
2xn 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/11726 #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int n, arr[1001] = { 0 }; arr[1] = 1, arr[2] = 2; cin >> n; for (r..
1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/9095 #include using namespace std; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N, arr[11] = { 0 }; arr[0] = 0, arr[1] = 1, arr[2] = 2, arr[3] = 4; cin >> N; for (register int n = 0, ..
1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/1463 #include using namespace std; int arr[static_cast(1e6) + 1]; int main() { ios::sync_with_stdio(false), cin.tie(), cout.tie(); register int N; cin >> N; arr[1] = 0; for (register int i = 2; i
가장 긴 증가하는 부분 수열 4 https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/14002 #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false), cin..
점프 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net // woohyeon.kim // https://www.acmicpc.net/problem/1890 #include using namespace std; int N; long long dp[101][101]; char arr[101][101]; long long solution(register int x, register int y) { if (x == N && y == N) re..