https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째, 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단 www.acmicpc.net 이번 문제는 잘못 이해하면 한도 끝도 없이 헷갈리기 아주 좋은 문제이다. 연속해서 3개의 계단을 밟을 수 없으므로 dp[i]를 i-2번째를 밟았다면 반드시..
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 이번 문제도 앞선 LIS유형의 문제들과 다를 바가 없다. 이번 문제에서는 dp배열에는 numbers[i]로 끝나는 최대 연속합으로 지정한다. dp[i-1]+numbers[i]>numbers[i[? dp[i]=dp[i-1]+numbers[i] : dp[i]=numbers[i] 를 하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ..
지난 시간에 풀이하였던 가장 긴 증가하는 부분 수열과 아주 유사한 문제이다. 대신에 달라지는 점은 부분 수열의 길이가 아니라 부분 수열의 합이 가장 큰 것을 찾는다는 것이다. 다이나믹 프로그래밍에서 항상 중요한 것은 dp배열에 어떤 값을 넣느냐이다. 이번 문제에서는 dp[i]는 numbers[i]가 마지막인 부분 수열의 합으로 정의한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // ..
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. www.acmicpc.net 흔히 LIS라고 불리는 문제이다. dp[i]= numbers[i]로 끝나는 부분 수열을 의미한다. dp[i]는 dp[j]+1이다. 단, numbers[j]
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고 www.acmicpc.net 1)이차원배열로 풀기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24..
https://www.acmicpc.net/problem/9465 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점 www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29..
- Total
- Today
- Yesterday
- C언어 배열 선언
- 윈도우 복붙
- 다이나믹 프로그래밍
- 안스 프로젝트 구조
- printf문 연산자
- 배열 메모리
- 배열 메모리 할당
- 배열 주의사항
- 모바일 앱 설계
- printf 스택
- C언어 한글 깨짐
- CLion 한글 깨짐
- 증감연산자 계산 순서
- c언어 필드 폭지정
- 필드 폭 지정
- manifest 의미
- 연산 순서
- C언어 printf문
- printf 계산 순서
- res 의미
- 계산 순서
- 복붙하기
- python list 팁
- CLion 한글
- MinGW 한글
- 앱 프로그래밍
- c언어 공백 출력
- C언어 한글
- 백준
- MinGW 한글 깨짐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |