본문 바로가기

동적계획법

(3)
백준 11057 - 오르막수(C++/동적계획법/DP/Dynamic Programming) https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 문제 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. 접근법 일단 MOD(출력..
백준 1463번 - 1로 만들기 (C++/ DP - 동적계획법) 문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 접근법실버3이라 무시했는데 생각보다 방법이 안 떠올랐다.. 반복문을 끝도 없이 사용하면.. 뭐 풀수야 있겠지만 이 문제의 제한시간은 0.15초 이다. 수는 1,000,000 까지 들어오는 마당에 모든 경우의수를 무작정 테스트해보기엔 코드도 비효율적이고, 시간도 오래걸린다. 막막할때는 일단 경우의 수부터 적어보자20구한다 가정3일때 -> 3으로 나눈다 -> 끝4일때 -> 1을 뺀다-> 3으로 나눈다 -> 끝 ( 3..
알고리즘 공부 (알고리즘 개인정리 링크 첨부) 선형자료~동적계획법까지! 오랜만의 포스팅이다 ㅎㅎ. 요즘 github에 README나 notion에서만 정리하고 있다가 블로그의 존재를 까먹었다. 하여튼! 요즘 많은 공부를 하고있지만 가장 많이하는 것은 아무래도 알고리즘 및 DirectX11 일 것이다. 여기부턴 알고리즘을 포스팅한다. 백준을 포함해 여러 기초들을. 아래 링크는 내가 알고리즘 강의를 들으며 정리한 것들을 모아둔 것이다. 최대한 보기 좋게 정리하려 했지만 필력이 모자라다 ;-;... 아래 링크를 들어가면 선형자료 (동적배열, 연결리스트, 스택, 큐 등) 그래프 (DFS, BFS, 다익스트라) 트리 (이진 탐색트리, 레드-블랙트리, 힙트리, 우선순위 큐, A*) 정렬 (버블정렬, 선택정렬, 삽입정렬, 힙정렬, 퀵정렬, 병합정렬) 해시테이블 최소신장트리 (크루스칼, ..

728x90
반응형