-
Notifications
You must be signed in to change notification settings - Fork 5
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
15-avocado-13 #71
15-avocado-13 #71
Conversation
for i in range(2, n + 1): | ||
|
||
d[i] = d[i - 1] + 1 | ||
if i % 3 == 0: | ||
d[i] = min(d[i], d[i // 3] + 1) | ||
if i % 2 == 0: | ||
d[i] = min(d[i], d[i // 2] + 1) | ||
print(d[n]) |
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 = int(input())
dp = [0] * (10**6+1)
for i in range(2,n+1):
# 1μ iλ² λΉΌλ κ²½μ°μ μλ
dp[i] = dp[i-1] + 1
# 2μ λ°°μλ©΄ 2λ‘ λλλ κ²½μ°μ μμ λΉκ΅ν΄μ μ μ κ°
if not i%2:
dp[i] = min(dp[i], dp[i//2]+1)
# 3μ λ°°μλ©΄ 3μΌλ‘ λλλ κ²½μ°μ μμ λΉκ΅ν΄μ μ μ κ°
if not i%3:
dp[i] = min(dp[i], dp[i//3]+1)
print(dp[n])
μ²μμ i-1μ 1λ‘ λͺ¨λ λΉΌμ£Όλ κ²½μ°μ μμ νλμ μ€ μμμ λΉκ΅λ₯Ό νλ €λ€ μ€ν¨νλλ°
λ€λ₯Έ μ¬λλ€μ μ½λλ₯Ό 보며 μ΄λ»κ² ꡬνν΄μΌν μ§λ₯Ό μκ² λμμ΅λλ€ :)
2λ 3μΌλ‘ λλ μ§λ μ΅μ νμμ μ«μλ‘ λλ λλ¨Έμ§ λ§νΌ (2 or 3) 1μ λΉΌμ€μΌνλ κ²½μ°μ μλ₯Ό μΆκ°ν κ²μ
νκΊΌλ²μ λΉκ΅νμ¬ μ΅μκ°μ μ°Ύμμ€ μ μμμ΅λλ€ β¨
for i in range(2,N+1):
dp[i] = min(dp[i-1]+1, dp[i//2]+1 + i%2, dp[i//3]+1 + i%3)
print(A[N])
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.
μ°μ 2μ λ°°μμΈμ§ μλμ§ νμΈνλ 쑰건μ if not i%2
λ‘ μ λ κ²μ μ²μ λ΄€μ΄μ (βΏββΏββΏ) νκΊΌλ²μ ꡬνλ κ²λ ... bb
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.
λ€μ΄λλ―Ή νλ‘κ·Έλλ°μ λ§€λ² λ΄λ μ½μ§ μμ λ¬Έμ λ€μ..π
3μκ°μ λΆμ‘λ€κ° λμ ν μλ κ² κ°μμ μνλμ μλ μ½λμ μ μλμ 리뷰λ₯Ό 보며 λ°λΌν΄ 보μμ΅λλ€π€
2λ 3μΌλ‘ λλ μ§λ μ΅μ νμμ μ«μλ‘ λλ λλ¨Έμ§ λ§νΌ 1μ λΉΌμ€μΌ νλ κ²½μ°μ μλ₯Ό μΆκ°ν κ²μ νκΊΌλ²μ λΉκ΅νμ¬ μ΅μκ°μ μ°Ύμμ£Όλ κ²λ μ’μ μμ΄λμ΄ κ°μ΅λλ€π
μ΄λ² PRλ μ λ§μ λ§ μκ³ νμ ¨μ΅λλ€ μνλ!
π λ¬Έμ λ§ν¬
λ°±μ€ | 1λ‘ λ§λ€κΈ°
βοΈ μμλ μκ°
1μκ° (λ¬Έμ νΈλ λ° 30λΆ, ν΄μ€λ³΄κ³ μ΄ν΄νλ λ° 30λΆ)
β¨ μλ μ½λ
λ€μ΄λλ―Ή νλ‘κ·Έλλ°, νκ΅μ΄λ‘ λμ κ³νλ²μ μν₯μκ° νν₯μμ΄ μλλ°, μν₯μ(bottom up)μ μ μΌ μμ μΈλ±μ€μ μλΆν° λͺ©ννλ κ°μΌλ‘ ν₯νλ κ²μ΄κ³ , νν₯μμ 맨 μμ κ°μμ μ¬κ·λ‘ μ μΌ μμ μΈλ±μ€λ₯Ό ν₯νλ κ²μ΄λ€.
μ°μ°μ μ΅μκ°μ ꡬν΄μΌ νλ―λ‘ λ¨μν ν° μλ‘ λλκΈ°λ§ νλ κ²μ΄ μ λ΅μ΄λΌ μκ°ν μ μμΌλ, 10μ κ²½μ°μλ 10 - 5- 4- 2- 1λ‘ νΈλ λ°©λ²λ³΄λ€, μ²μλΆν° 1μ λΉΌκ³ 10 -9 -3 -1μ λ§λλ λ°©λ²μ΄ μ΅μκ°μ΄λ€.
d[i] = d[i-1] + 1
: νμ¬ μμμ 1μ λΉΌλ κ²½μ°λ₯Ό κ³ λ €. κ·Έλ¬λ―λ‘ μ΄μ κ°μμ 1μ λν κ°μ΄ νμ¬μ μ°μ° νμκ° λλ€.d[i] = min(d[i], d[i//3] +1)
: νμ¬ μλ₯Ό 3μΌλ‘ λλλ κ²½μ°λ₯Ό κ³ λ €. νμ¬μ μ°μ° νμμ νμ¬ μλ₯Ό 3μΌλ‘ λλ μμ μ°μ°νμμ 1μ λν κ° μ€μμ λ μμ κ°μ μ ννλ€.d[i] = min(d[i],d[i//2] +1)
: νμ¬ μλ₯Ό 2λ‘ λλλ κ²½μ°λ₯Ό κ³ λ €. νμ¬μ μ°μ° νμμ νμ¬ μλ₯Ό 2λ‘ λλ μμ μ°μ°νμμ 1μ λν κ° μ€μμ λ μμ κ°μ μ ννλ€.μ΄λ° λ°©μμΌλ‘ μ°μ° νμμ μ΅μκ°μ κ³μ°νμ¬ μΆλ ₯.
μ΅μ’ μ½λ
π μλ‘κ² μκ²λ λ΄μ©
λ€μ΄λλ―Ή νλ‘κ·Έλλ°μ κ°λ μ μ΅νκ³ νΈκΈ°λ‘κ² λ¬Έμ λ₯Ό νμ΄λ΄€λλ°, ν΄μ€μ λ³΄κ³ λ μ΄ν΄νλ λ° μ΄λ €μμ κ²ͺμ΄ μμ§ λ§μ΄ λΆμ‘±νλ€λ κ²μ λκΌλ€. π₯² μ’ λ 곡λΆν΄μ μ΅μν΄μ ΈμΌ κ² λ€. :]
ν΄μ€ λ§ν¬