본문 바로가기

분류 전체보기351

[백준 19947] 투자의 귀재 배주형 www.acmicpc.net/problem/19947 19947번: 투자의 귀재 배주형 2020년에 학교로 복학한 주형이는 월세를 마련하기 위해서 군 적금을 깨고 복리 투자를 하려고 한다. 주형이가 하려는 투자에는 3가지 방법의 투자 방식이 있다. 1년마다 5%의 이율을 얻는 투자 ( www.acmicpc.net 쉬운 dp문제 직관적으로 접근하면 dp를 3row로 접근하면 된다. 어차피 y가 10이라는 작은 숫자이므로 메모리초과는 없다.. 처음 코드: #include #include using namespace std; int dp[3][11]; int main(void) { int h, y; scanf("%d %d", &h, &y); dp[0][0] = dp[1][0] = dp[2][0] = h; fo.. 2020. 11. 26.
[백준 17626] Four Squares www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 자주 보이는 dp 유형 중 하나 근데 풀 때마다 막막하다... 점화식을 세우기 위해 숫자 하나씩 해본다. 1 = 1 * 1 2 = 1 * 1 + 1 * 1 3 = 1 * 1 + 1 * 1 + 1 * 1 4 = 2 * 2 5 = 2 * 2 + 1 * 1 .... 10 = 3 * 3 + 1 dp[n]은 제곱수 합으로 표현할 때 사용하는 숫자의 최소 개수라고 정의한다. 그러면 n이.. 2020. 11. 26.
[백준 2503] 숫자 야구 www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 예전에 많이 하던 숫자 야구 구현이다. 숫자가 3개밖에 없기 때문에 브루트포스를 사용하지만 그 구현방법이 어려웠다. 문제 조건이 1~9까지의 숫자 사용. 각 자리수는 서로 다른 숫자이기 때문에 123~999 사이에서 1. 0 이 들어가거나 2. 자리수가 같은 경우가 있는 경우는 배제하고 시작한다. 그 후에 strike와 ball수를 체크해서 모든 조건을 통과하는 숫자들의 경우의 수를 리턴한다. 따라서 처음에 모.. 2020. 11. 26.
[leetcode 202] Happy Number Write an algorithm to determine if a number n is "happy". A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are ha.. 2020. 11. 25.