https://school.programmers.co.kr/learn/courses/30/lessons/12914
๋ฌธ์ ์ค๋ช
ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ, ๋๋ 2์นธ์ ๋ธ ์ ์์ต๋๋ค. ์นธ์ด ์ด 4๊ฐ ์์ ๋, ํจ์ง์ด๋
(1์นธ, 1์นธ, 1์นธ, 1์นธ)
(1์นธ, 2์นธ, 1์นธ)
(1์นธ, 1์นธ, 2์นธ)
(2์นธ, 1์นธ, 1์นธ)
(2์นธ, 2์นธ)
์ 5๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋งจ ๋ ์นธ์ ๋๋ฌํ ์ ์์ต๋๋ค. ๋ฉ๋ฆฌ๋ฐ๊ธฐ์ ์ฌ์ฉ๋ ์นธ์ ์ n์ด ์ฃผ์ด์ง ๋, ํจ์ง์ด๊ฐ ๋์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ์ด ๋ช ๊ฐ์ง์ธ์ง ์์๋ด, ์ฌ๊ธฐ์ 1234567๋ฅผ ๋๋ ๋๋จธ์ง๋ฅผ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํ์ธ์. ์๋ฅผ ๋ค์ด 4๊ฐ ์ ๋ ฅ๋๋ค๋ฉด, 5๋ฅผ returnํ๋ฉด ๋ฉ๋๋ค.
์ ํ ์ฌํญ
- n์ 1 ์ด์, 2000 ์ดํ์ธ ์ ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | result |
4 | 5 |
3 | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
์์์ ์ค๋ช ํ ๋ด์ฉ๊ณผ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
(2์นธ, 1์นธ)
(1์นธ, 2์นธ)
(1์นธ, 1์นธ, 1์นธ)
์ด 3๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ๋ฆฌ ๋ธ ์ ์์ต๋๋ค.
๋ด ์ฝ๋
#include <string>
#include <vector>
#define MOD 1234567
using namespace std;
long long solution(int n) {
long long answer = 0;
long long dp[2001];
dp[1] = 1; // 1์ ํํํ๋ ๊ฒฝ์ฐ์ ์ 1๊ฐ์ง : {1}
dp[2] = 2; // 2๋ฅผ ํํํ๋ ๊ฒฝ์ฐ์ ์ 2๊ฐ์ง : {1, 1}, {2}
for(int i = 3; i <= 2000; ++i)
{
// n์ ํํํ๋ ๊ฒฝ์ฐ์ ์ : n-1์ ํํํ๋ ๊ฒฝ์ฐ์ ์ + n-2์ ํํํ๋ ๊ฒฝ์ฐ์ ์
dp[i] = (dp[i-1] + dp[i-2]) % MOD;
}
return dp[n];
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ๊ด๋ฌผ ์บ๊ธฐ(C++) (0) | 2023.06.26 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ํ๋ ฌ์ ๊ณฑ์ (C++) (0) | 2023.06.25 |
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 - ์๋ฌผ์ ์ ์ด์ (C++) (0) | 2023.06.21 |
[ํ๋ก๊ทธ๋๋จธ์ค]level.1 - ํ์ค๋ ์(C++) (0) | 2023.06.20 |
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ํ๋ฐฐ ์์(C++) (0) | 2023.06.19 |