일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 머신러닝
- hackerrank
- 프로그래머스
- spring
- python3
- 인코더
- 백트래킹
- c++
- 안드로이드
- 백준
- Map
- 스프링
- vue.js
- 프로그래밍
- c
- BFS
- stl
- Android
- Kotlin
- 스프링 프레임워크
- DP
- Rebase
- ADAS
- 스프링프레임워크
- retrofit
- 카카오인코더
- 연결리스트
- 블로그개설
- git
- TensorFlow
- Today
- Total
목록DP (8)
이것저것 공부한 기록
https://www.acmicpc.net/problem/2011 앞의 자리수와 합쳐서 검사 안 해도 되니까 i-1을 더한다. 받은 수와 앞자리를 합쳐서 10보다 크고 26보다 작다 -> 앞의 자리수랑 합쳐서 생각해야되니까 i-2를 더한다 -> 두가지 모두 만족하지 못할 경우는 즉시 계산을 종료한다. 정도로 짜볼 수 있겠습니다~~~ 이래저래 정리해서.. 코드를 짜면 됩니다. 더러워서 맘에 안들지만... 더 생각하기 싫었다. #include int main(void) { int cnt; int pass[5001][2] = { 0, }; scanf("%1d", &pass[1][0]); cnt = 1; if (pass[1][0] != 0) { pass[1][1] = 1; pass[0][1] = 1; } whi..
https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 문제 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 첫째 줄에 경우의 수를 출력한다. 예제 입력 1 복사 2 예제 출력 1 복사 3 힌트 아래 그림은 3×12 벽을 타일로 채운 예시이다.... www.acmicpc.net .... 이전 타일문제들과 똑같이 풀면 되는줄 알았는데......... 후 일단 홀수에서는 안 구해도 되니까 0으로 제외. 3X2에서는 이렇게 DP[2] = 3 3X4에서는 3X2옆에 3X2가 붙는 경우 + 3X4에서만 나오는 모양 2개 DP[4] = DP[2]*3 + 2 그리고... 6으로 가면 DP[4..
https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다. 이 경우, 수학자 숌크라테스는 “11은 3개 항의 제곱수 합으로 표현할 수 있다.”라고 말한다. 또한 11은 그보다 적은 항의 제곱수 합으로 표현할 수 없으므로, 11을 그 합으로써 표현할 수 있는 제곱수 항의 최소 개수는 www.acmicpc.net 와 나는 해설을 보고 설명을 들어서 겨우 푸는데 이걸 걍 풀어내는 사람들은 대체.. 어떻게 푸는거지? 아니 이 문제를 만드는 사람은 어..
https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다. 포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다. 연속으로 놓여 있는 3잔을 모두 마실 수는 없다. 효주는 될 수 있는 대로 많은 양의 포도주를 맛보기 위해서 어떤 포도주 잔을 선택해야 할지 고 www.acmicpc.net 술 문제가 나와서 정말 기뻤는데 후... 효주친구... 술 많이 먹여주고 싶었지만 네 번이나 실패했다. 아니 6잔이 놓여있으면~~ 다..
https://www.acmicpc.net/problem/9465 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점 www.acmicpc.net 비쥬얼스튜디오에서는 큰 배열이 안 돌아가서 작게해서 코드짜다가 그대로 제출해서 나오는 런타임 에러..... \n안넣어서 틀리기.... 개화..
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 전체 합을 구하기 위해... 각 케이스의 점화식을 나눠서 계산 할 필요가 있다는 것을 뼈저리게 ㄴ꼈다 9->0이 계단수가 될 수 없고 0->9로 만들 수 없다는 걸 첨부터 깨닫긴 했는데 이걸 어떻게 식으로 만들지를 몰라서 한참 헤멨음 결론은... 길이별 끝 자리수를 나눠서 계산해야 한다 n개의 숫자를 사용하는 수들 중에 맨 끝 자리가 1이 되려면 그 전자리수가 2나 0이여야 함. 121, 101, 321 ... 그러니까 결국 n-1개의 숫자를 사용할 때 맨 끝 자리수가 2였던 경우와 0이였던 경우의 수를 더하면..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 www.acmicpc.net ㅋ ㅋ...ㅋㅋㅋ 장난 끝 계단을 꼭 올라야 한다는 거에 사로잡혀서 끝부터 계산한다고 삽질했다. 규칙을 그래프로 그려서 덩어리로 뭉뚱그리는게 훨 편하다고 ..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, 첫 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 학부생때도 제대로 해본 적 없는 DP... 일단 문제를 많이 풀어보라는 게 이런 의미였구나 하고 체감하는 중. 이런 류의 문제는 지금 느끼기엔 일단.. 기준을 어떻게 두고 구할 것인지를 찾는게 ..