본문 바로가기

동적계획법30

[BOJ / C++] 11058번 : 크리보드 문제 크리보드는 kriii가 만든 신기한 키보드이다. 크리보드에는 버튼이 4개만 있으며, 하는 역할은 다음과 같다. 화면에 A를 출력한다. Ctrl-A: 화면을 전체 선택한다 Ctrl-C: 전체 선택한 내용을 버퍼에 복사한다 Ctrl-V: 버퍼가 비어있지 않은 경우에는 화면에 출력된 문자열의 바로 뒤에 버퍼의 내용을 붙여넣는다. 크리보드의 버튼을 총 N번 눌러서 화면에 출력된 A개수를 최대로하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 크리보드의 버튼을 총 N번 눌러서 화면에 출력할 수 있는 A 개수의 최댓값을 출력한다. Solved.ac 레벨 골드 V 풀이 Solved.ac 골드 V 문제 중에 '시프트 마음대로'로 무작위로 문제를 고르는데 오늘도 DP다. 골드.. 2023. 7. 28.
[BOJ / C++] 12037번 : Polynesiaglot (Small1) 문제 (Google 번역) Ursula는 인공 언어 구성의 열렬한 팬입니다. 현재 그녀는 실제 폴리네시아어에서 영감을 받은 언어 작업을 시작하고 있습니다. 그녀가 정한 유일한 규칙은 다음과 같습니다. 모든 단어는 문자로 구성됩니다. 문자는 자음 또는 모음입니다. 단어의 모든 자음은 바로 뒤에 모음이 와야 합니다. 예를 들어, a 가 유일한 모음이고 h 가 유일한 자음 인 언어에서 a , aa , aha , aaha 및 haha 는 유효한 단어이지만 h , ahh , ahah 및 ahha 는 유효하지 않습니다. 자음에 관한 규칙은 단어가 자음으로 끝나는 것과 자음 뒤에 다른 자음이 오는 것을 허용하지 않는다는 점에 유의하세요. Ursula의 새 언어에 사용할 수 있는 C 개의 다른 자음과 V 개의 다른 모.. 2023. 7. 24.
[BOJ / C++] 14916번 : 거스름돈 문제 춘향이는 편의점 카운터에서 일한다. 손님이 2원짜리와 5원짜리로만 거스름돈을 달라고 한다. 2원짜리 동전과 5원짜리 동전은 무한정 많이 가지고 있다. 동전의 개수가 최소가 되도록 거슬러 주어야 한다. 거스름돈이 n인 경우, 최소 동전의 개수가 몇 개인지 알려주는 프로그램을 작성하시오. 예를 들어, 거스름돈이 15원이면 5원짜리 3개를, 거스름돈이 14원이면 5원짜리 2개와 2원짜리 2개로 총 4개를, 거스름돈이 13원이면 5원짜리 1개와 2원짜리 4개로 총 5개를 주어야 동전의 개수가 최소가 된다. 입력 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. 출력 거스름돈 동전의 최소 개수를 출력한다. 만약 거슬러 줄 수 없으면 -1을 출력한다. Solved.ac 레벨 실버 V 풀.. 2023. 7. 15.
[BOJ / C++] 11057번 : 오르막 수 문제 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. 입력 첫째 줄에 N (1 ≤ N ≤ 1,000)이 주어진다. 출력 첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다. Solved.ac 레벨 실버 I 풀이 #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); in.. 2023. 3. 24.