일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- moreeffectiveC++
- 스마트포인터
- 프로그래머스
- 강참조
- 정렬
- 약참조
- UML관련
- unorder_map
- 크리티컬섹션
- 알고리즘
- 데이터애셋
- map
- 람다사용정렬
- C++최적화
- UE4 커스텀로그
- 언리얼가비지컬렉터
- dataasset
- UELOG
- 선택정렬
- UE_LOG
- 정렬알고리즘
- 언리얼엔진구조체
- 애셋로드
- 자료구조
- enumasByue
- 람다
- stl
- BFS
- 델리게이트
- Today
- Total
목록Coding Test - cpp/DP (20)
기억을 위한 기록들
https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(vector triangle) { int dp[500][500] = {}; dp[0][0]=triangle[0][0]; const int size = triangle.size(); for(int i=1; i
www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net #include using namespace std; int main() { int dp[1001] = { 0 }; dp[1] = 1; dp[2] = 3; dp[3] = 5; dp[4] = 11; int N; cin >> N; for (int i = 5; i
www.acmicpc.net/problem/2670 2670번: 연속부분최대곱 첫째 줄은 나열된 양의 실수들의 개수 N이 주어지고, 그 다음 줄부터 N개의 수가 한 줄에 하나씩 들어 있다. N은 10,000 이하의 자연수이다. 실수는 소수점 첫째자리까지 주어지며, 0.0보다 크거나 www.acmicpc.net #include #include using namespace std; int main() { int n; cin >> n; double arr[10001] = { 0.f }; double dp[10001] = { 0.f }; for (int i = 1; i > arr[i]; } dp[1] = arr[1]; double result = -1; for (int i = 2; i
www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net #include #include using namespace std; int main() { int n; cin >> n; if (n % 2 == 0) { cout
www.acmicpc.net/problem/13301 13301번: 타일 장식물 대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개 www.acmicpc.net #include #include using namespace std; int main() { int n; cin >> n; long long dp[81] = { 0 }; dp[1] = 4; dp[2] = 6; dp[3] = 10; dp[4] = 16; for (int i = 5; i
* 연산자를 사용하지 않고 양의 정수 두개를 곱하는 재귀함수를 작성하라. 덧셈, 뺄셈, 비트 시프팅 연산자를 사용할 수 있지만 사용 횟수를 최소화 해야한다. #include using namespace std; int minProductHelper(int smaller, int bigger) { if (smaller == 0) { return 0; } else if (smaller == 1) { return bigger; } //절반 나누기 비트연산자 int s = smaller >> 1; //곱절 int halfProd = minProductHelper(s, bigger); if (smaller % 2 == 0) { return halfProd + halfProd; } else { return half..
www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net #include using namespace std; int arr[10001]; int dp[10001]; #define max(a,b,c) (a > b) ? (a > c) ? a : c : (b > c) ? b : c int main() { int n; cin >> n; for (int i = 1; i > arr[i]; } dp[1] = arr[1]; dp[2] = arr[1] + arr[2]; for (in..
www.acmicpc.net/problem/1904 1904번: 01타일 지원이에게 2진 수열을 가르쳐 주기 위해, 지원이 아버지는 그에게 타일들을 선물해주셨다. 그리고 이 각각의 타일들은 0 또는 1이 쓰여 있는 낱장의 타일들이다. 어느 날 짓궂은 동주가 지원이 www.acmicpc.net #include using namespace std; long long arr[1000001]; int main() { int n; cin >> n; arr[1] = 1; arr[2] = 2; arr[3] = 3; long long temp = 0; for (int i = 4; i
www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net #include #include using namespace std; int cache[51][51][51]; int w(int a, int b, int c){ if (a = 21) return w(20, 20, 20); if (a < b && b < c) { result = w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c); } else { result = w(a - ..
www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net #include using namespace std; long long arr[101]; int main() { int total; cin >> total; for (int index = 0; index > n; arr[1] = 1; arr[2] = 1; arr[3] = 1; for (int i = 4; i
www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net #include #include #include using namespace std; int main(){ int n; cin >> n; int arr[100001]; int dp[100001]; int input; for (int i = 0; i > input; arr[i] = input; dp[i] = input; } int result = dp[0]; for (int i = 1; i <..
www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; int dp[46][2]; cin >> n; memset(dp, 0, sizeof(dp)); dp[0][0] = 0; dp[0][1] = 0; dp[1][0] = 0; dp[1][1] = 1; dp[2][0] = 1; dp[2][1] = 1; dp[3][0] = 1; dp[3][..