일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- STL
- priority_queue
- swea
- 백트래킹
- 이런게4문제
- 2018
- 프로그래머스
- 백준
- 코딩테스트
- Sort
- dfs
- BFS
- 코딩스킬
- C++
- Set
- 모의SW역량테스트
- substr
- find
- 삼성SW역량테스트
- 레벨3
- 삼성
- 브루트포스
- 문자열
- KAKAO
- dp
- Map
- 삼성SW테스트
- 완전탐색
- 레벨2
- 시뮬레이션
- Today
- Total
목록dp (11)
-
https://programmers.co.kr/learn/courses/30/lessons/12905# 코딩테스트 연습 - 가장 큰 정사각형 찾기 | 프로그래머스 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 처음에 for문으로 답을 찾으려 했다가 정확성은 맞았지만 효율성테스트에서 실패한 케이스다. 다시 문제를 분석하고 DP로 더 빠르게 풀 수 있는 것을 알게 된 뒤, 재설계해서 풀었다. 먼저 DP배열에 모두 0을 넣고, board에 1이 담겨있는 곳의 dp값을 1로 초기화 해주었다. 만약 board값을 확인하는 과정에서 1이 발견되지 않으면 0을 반환하고 종료하도록 했다. 그렇지 않은 경우 최소 1의 넓이를 가질 것이므로 answer의 초..
https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 | 프로그래머스 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 s programmers.co.kr 백준에 동일한 문제가 있다. 이 문제는 dp로 풀 수 있는데 n=..
https://www.acmicpc.net/problem/2011 > s; dp[0] = 1; for (int i = 1; i = 1 && x
https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. www.acmicpc.net DP 연습문제다. DP[자리수][끝수]라고 정했을 때 맨 윗줄 DP[1][0] ~ DP[1][9]는 모두 1로 선언해준다. 그 다음, DP[N][K] = DP[N-1][0] + DP[N-1][1] + ... + DP[N-1][K]와 같이 점화식을 구성해주면..
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 백준 DP 연습문제다. 끝 자리에 유의해서 DP[자리수][끝자리수]로 만들 수 있는 계단수를 찾으면 된다. 수가 매우 커지기 때문에 모듈러 연산을 위해 long long에 정답을 저장해야 하며, 동작과정 중 n을 만나면 계산해둔 값을 이용해 답을 출력한뒤 종료하도록 구현했다. 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 35 36 37 38 39 #include #pragma warning(..
https://www.acmicpc.net/problem/4811 4811번: 알약 문제 70세 박종수 할아버지는 매일 매일 약 반알을 먹는다. 손녀 선영이는 종수 할아버지에게 약이 N개 담긴 병을 선물로 주었다. 첫째 날에 종수는 병에서 약 하나를 꺼낸다. 그 다음, 그 약을 반으로 쪼개서 한 조각은 먹고, 다른 조각은 다시 병에 넣는다. 다음 날부터 종수는 병에서 약을 하나 꺼낸다. (약은 한 조각 전체 일 수도 있고, 쪼갠 반 조각 일 수도 있다) 반 조각이라면 그 약을 먹고, 아니라면 반을 쪼개서 한 조각을 먹고, 다른 조각은 다 www.acmicpc.net 백준 4811번 알약 문제다. DP 유형의 문제로 생각할 수 있다. DP[W][H]라고 하는 배열이 온전한 알약이 W개, 반쪽짜리 알약이 H..
https://www.acmicpc.net/problem/5557 5557번: 1학년 문제 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀고 있다. 예를 들어, "8 3 2 4 8 7 2 4 0 8 8"에서 등식 "8+3-2-4+8-7-2-4-0+8=8"을 만들 수 있다. 상근이는 올바른 등식을 만들려고 한다. 상근이는 아직 학교에서 음수를 배우지 않았고, 20을 넘는 수는 모른다. www.acmicpc.net 전형적인 DP 문제였습니다. 배열의 성격을 잘 결정하고, 초기값을 잘 결정해준 뒤 점화식을 세워 코딩하면 되는 문제입니다. dp[i][j]를..