일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 삼성코테
- 포스코 교육
- DP문제
- 임베디드 딥러닝
- 포스코 AI교육
- 영상처리
- 코테
- 다이나믹프로그래밍
- bfs문제
- 초소형머신러닝
- 알고리즘
- 그리디
- MCU 딥러닝
- tflite
- 삼성역량테스트
- sort
- 코딩테스트
- BFS
- DP
- 자료구조
- dfs문제
- 삼성코딩테스트
- 삼성역테
- 딥러닝
- TensorFlow Lite
- 코테 문제
- tinyml
- 컴퓨팅사고
- dfs
- 포스코 ai 교육
- Today
- Total
목록동적프로그래밍 (5)
코딩뚠뚠
풀이일시 : 2020-12-28 문제 : 45656이란 수를 보자. 이 수는 인접한 모든 자리수의 차이가 1이 난다. 이런 수를 계단 수라고 한다. 세준이는 수의 길이가 N인 계단 수가 몇 개 있는지 궁금해졌다. N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.) 입력 : 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. ex) 2 출력 : 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. ex) 17 풀이 : DP문제이다. 즉 점화식을 세워봐야한다. dbstndi6316.tistory.com/35 [개념정리] DP 동적프로그래밍 Dynamic Programing, DP, 동..
풀이일시 : 2020-08-09 문제 : 2×N 크기의 벽을 2×1, 1×2, 1×1 크기의 타일로 채우는 경우의 수를 구해보자. 입력 : 첫째 줄에 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 : 첫째 줄에 경우의 수를 1,000,000,007로 나눈 나머지를 출력한다. 풀이 : 다이나믹프로그래밍 DP를 이용한다 dbstndi6316.tistory.com/35?category=953970 [개념정리] DP 동적프로그래밍 Dynamic Programing, DP, 동적프로그래밍, 동적계획법 으로 중요한 알고리즘 중 하나이다. DP란 큰 문제를 작은 문제로 나눠서 푸는 알고리즘이다. 방식은 분할정복과 같으나 분할정복은 계산한 부 dbstndi6316.tistory.com 가장 ..
풀이일시 : 2020-08-09 문제 : 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. 입력 : 첫째 줄에 N(1 ≤ N ≤ 30)이 주어진다. 출력 : 첫째 줄에 경우의 수를 출력한다. 풀이 : 가장 마지막에 오는 타일을 생각했을 때 나타나는 경우의 수는 세 가지이다. (그 이전 갯수는 N-2개) 또한 4개이상일 때부터 2의 배수가 될때마다는 고유한 모양이 2개씩 나타난다. D[i] = 3*D[i-2] + (2*D[i-4] + 2*D[i-6] + 2*D[i-8] + .... + 2*D[0]) 아래는 DP에 대한 포스팅이다. 이의 알고리즘으로 풀이했다. dbstndi6316.tistory.com/35?category=953970 [개념정리] DP 동적프로그..
풀이일시 : 2020-08-09 문제 : 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 입력: 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력: 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 풀이 : 점화식을 만들어보자 가장 마지막에 오는 타일을 생각해봤을 때 가능 한 경우의 수를 생각해본다면 1. 1x2 타일 (그 앞엔 N-1개) 2. 2x1 타일 (그 앞엔 N-2개) 3. 2x2 타일 (그 앞엔 N-2개) 점화식 D[i]=D[i-1]+2*D[i-2] 를 도출해 낼 수 있다. DP에 대한 포스팅이다. 점화식을 쓰는것은 이 알고리즘을 사용한것이다. dbstndi6316.tist..
Dynamic Programing, DP, 동적프로그래밍, 동적계획법 으로 중요한 알고리즘 중 하나이다. DP란 큰 문제를 작은 문제로 나눠서 푸는 알고리즘이다. 방식은 분할정복과 같으나 분할정복은 계산한 부분문제를 단 한번만 쓰고 더이상 사용하지않는다. 그러나 동적프로그래밍에서는 계산한부분을 남겨놓고 계속해서 필요할때 끌어다 쓴다. 동작방식 1. 구하고자 하는 큰 문제를 작은 문제들로 나눈다. (점화식을 세운다.) 2. 가장 작은 부분문제를 푼 뒤 값을 저장한다. = 메모이제이션 3. 메모이제이션 된 문제들의 값을 이용해 점차 더 큰 문제들의 답을 구한다. 4. 가장 큰 문제를 풀이할때까지 반복한다. ☆무엇을 어떻게 저장할지 정하는게 중요하다. 적용방법 1. Botton-Up 방식 : 반복문을 이용 e..