-
Notifications
You must be signed in to change notification settings - Fork 1
11- caucsejunseo #41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
11- caucsejunseo #41
Conversation
|
μ λ λ¬Έμ λ₯Ό 보μλ§μ dpλ₯Ό λ μ¬λ Έλλ°, λ²μλ₯Ό 보λ 미리 νμ΄μ λ¬Έμ λ₯Ό ν΄κ²°ν΄λ λκ² λ€λ μκ°μ΄ λ€μμ΅λλ€. κ·Έλμ νμ΄μ¬μΌλ‘ dpλ₯Ό ꡬνν λ€, λ¬Έμ λ₯Ό νΈλ μ½λλ₯Ό μμ±νμ΅λλ€. DP μ½λdp = [0] * 11
if 1 <= 10:
dp[1] = 1
if 2 <= 10:
dp[2] = 2
if 3 <= 10:
dp[3] = 4
for i in range(4, 11):
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
T = int(input())
for _ in range(T):
n = int(input())
print(dp[n])λ¬Έμ νμ΄ μ½λexec("print([0,1,2,4,7,13,24,44,81,149,274][int(input())]);"*int(input()))νΉμ± λ°©μ μμ ν΅ν΄μ μΌλ°νμ ꡬνλ € νλλ°, 볡μμμ λΆλμμμ μ°μ° λλ¬Έμ ν¬κΈ°νμ΅λλ€.. |
dohyeondol1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
λ λ€ νμ°μ§ μΌκ΅΄ λ¨λκ² μκΈ°λ€μ γ γ
μ¬μ€ μΆμ²νκ³ λμ μ΄μ§ νννλ 건 μ΄ λ¬Έμ λ₯Ό μ€μλμ΄ μ€μ€λ‘ μ νμ§ λͺ»ν μ μ
λλ€.
μ€μλμ΄ μ무κ²λ λͺ¨λ₯΄λ μνμμ μ΄ λ¬Έμ λ₯Ό μ νλλΌλ©΄ μ’ λ μ»μ΄κ°λκ² λ§μμκ±°λΌκ³ μκ°νκ±°λ©μ... λ¬Έμ λ₯Ό μ΄λ€ λ°©μμΌλ‘ νΈλμ ννΈκ° μκ³ μκ³ λ μ°¨μ΄κ° ν¬κ±°λ©μ..
μμ μ νμλ§ νμ΄λ΄λ©΄ λ΅μ κΈλ°© ꡬν μ μμ΄μ μ€μλμ΄ ν μ μμκ±°λΌ μκ°νμ΅λλ€.
μ λ 미리 λ΅μ ꡬν΄λκ³ κ° ν
μ€νΈμΌμ΄μ€μ λν΄ μΆλ ₯λ§ νλ λ°©μμΌλ‘ νμμ΅λλ€.
C++
#include <iostream>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, T;
int dp[12];
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for(int i = 4; i < 11; i++)
dp[i] = dp[i-1] + dp[i-2] + dp[i-3];
cin >> T;
while(T--) {
cin >> n;
cout << dp[n] << '\n';
}
}
hadongun
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
μ νμμ μ°Ύλ κ² ν΅μ¬μ΄λ€μ~!
μ λ nμ ν¬κΈ° μ νμ λͺ» λ΄μ 리μ€νΈμ ν¬κΈ°λ₯Ό n+1λ‘ μ‘μλλ° index μλ¬κ° λ¨λκ΅°μ..
μλ§ d[0] =1 d[1]=1 d[2] = 2μ μ μΈνλλ°, nμ΄ 1μΈ κ²½μ° dμ μΈλ±μ€ λ²μκ° [0~1]μ΄μ΄μ λ¬Έμ κ° μκΈ°λλΌκ΅¬μ!
νμ΄μ¬μμλ (max(3, k + 1)) λ₯Ό νμ©νλ©΄ μ΅μ 3κΉμ§λ 곡κ°μ ν보ν μ μλ€λ κ²λ μκ²λμμ΄μ
Details
n = int(input())
for _ in range(n):
k = int(input())
d = [0] * (max(3, k + 1))
d[0] = 1
d[1] = 1
d[2] = 2
for i in range(3, k+1):
d[i] = d[i-1] + d[i-2] + d[i-3]
print(d[k])
π λ¬Έμ λ§ν¬
1,2,3 λνκΈ°
βοΈ μμλ μκ°
1h
β¨ μλ μ½λ
νμλμ μΆμ²μΌλ‘ νμ΄λ³΄κ² λμμ΅λλ€!
dpλ¬Έμ λ΅κ² μ¬μ€ μ νμλ§ μ°λ©΄ λμΈ λ¬Έμ μ λλ€. μ²μμλ μ΄λ»κ² νλ©΄ μμ μλ€μ νμ©ν΄μ λ€μ μλ₯Ό λ§λ€ μ μμκΉ μ΄ν΄ν΄ λ³Όλ €κ³ νλλ° μ μλλλΌκ΅¬μ..
κ·Έλμ μλ₯ μμ΄ λ¬Έμ νλ―μ΄ μ κ·Όνμμ΅λλ€.

μμ΄μ κΈ°λ³Έμ λμ΄! κ·Έλ¦¬κ³ κ·μΉ μ°ΎκΈ°! 5κΉμ§ λμ΄ν΄λ³΄λκΉ κ·μΉμ΄ 보μ΄λλΌκ΅¬μ. 6κΉμ§ ν΄λ³΄κ³ μ΄κ² λ§λ€κ³ νμ νμμ΅λλ€!
μ νμ -->dp[k] = dp[k - 1] + dp[k - 2] + dp[k - 3]
μμ μΈ μμ ν©μ΄ κ·Έ λ€μ μκ° λ©λλ€!
λ§μνκ³ λ³΄λ λλκ±΄λ° μ΄ λ¬Έμ λ 10κΉμ§λ§ λ¬»κ³ μμΌλ―λ‘ κ·Έλ₯ 10κΉμ§ λ Έκ°λ€λ‘ κ³μ° ν μΆλ ₯λ§ ν΄λ μ λ΅μ λ§μΆ μκ° μμ΅λλ€!
κ·Έλ₯νΈλμ½λ
'''
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int T, n;
int dp[11] = {0};
}
'''
μ μ νμμ μ΄ν΄νμ¬ λ³΄μλ©΄, νλ₯ κ³Ό ν΅κ³ λ¬Έμ μ²λΌ, μΈ κ°μ§λ‘ μΌμ΄μ€λ₯Ό λΆλ₯νμ¬ λ³΄λ©΄ μ½κ² μ΄ν΄ν μ μμ΅λλ€.
λ§μ§λ§μ 1μ΄ λΆλ κ²½μ°, 2κ° λΆλ κ²½μ°, κ·Έλ¦¬κ³ 3μ΄ λΆλ κ²½μ°!
5λΌλ μ«μλ₯Ό μλ‘ λ€λ©΄
β λ§μ§λ§μ 1μ΄ λΆμ κ²½μ°
κ·Έ μμ 4λ₯Ό λ§λλ λͺ¨λ λ°©λ² β dp[4]
μ¦ 4+1 μΈλ° μμ 4λ₯Ό 1,2,3μΌλ‘ μ‘°ν©νλ κ²½μ°μ μκ° dp[4]λ§νΌ
β λ§μ§λ§μ 2κ° λΆμ κ²½μ°
κ·Έ μμ 3μ λ§λλ λͺ¨λ λ°©λ² β dp[3]
μ¦ 3+2μμ 2κ° κ³ μ μ΄κ³ 3μ 1,2,3μΌλ‘ μ‘°ν©νλ κ²½μ°μ μκ° dp[3]
β λ§μ§λ§μ 3μ΄ λΆμ κ²½μ°
κ·Έ μμ 2λ₯Ό λ§λλ λͺ¨λ λ°©λ² β dp[2]
λ°λΌμ dp[5] = dp[4] + dp[3] + dp[2] μ΄λ κ² νλ©΄ λͺ¨λ κ²½μ°μ μλ₯Ό νμΈνκ² λ©λλ€.
μλμ½λ
'''
μ λ ₯: ν μ€νΈ μΌμ΄μ€ μ T
μ λ ₯: κ° ν μ€νΈ μΌμ΄μ€μ λν΄ μ μ n (1 β€ n β€ 10)
λ°°μ΄ dp[11]μ μ μΈνκ³ μ΄κΈ°ν:
dp[1] = 1
dp[2] = 2
dp[3] = 4
count λ°°μ΄κ³Ό answer λ°°μ΄μ ν¬κΈ° Tλ‘ λμ ν λΉ
κ° ν μ€νΈ μΌμ΄μ€ iμ λν΄:
μ μ count[i] μ λ ₯λ°κΈ°
λͺ¨λ ν μ€νΈ μΌμ΄μ€μ λν΄:
answer[i]λ₯Ό μΆλ ₯
'''
π μλ‘κ² μκ²λ λ΄μ©
μ νμ μμ±