deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 3 x n ํƒ€์ผ๋ง
Algorithm Problem/Python

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 3 x n ํƒ€์ผ๋ง

2020. 9. 17. 08:25
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

Lv4 | dp

 

2 x n ํƒ€์ผ๋ง ๋ฌธ์ œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ dp ๋ฌธ์ œ.

  1. ์™„์ „ ํƒ์ƒ‰์œผ๋กœ ์ดˆ๋ฐ˜ ๋ช‡ ๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.(์†์ด๋‚˜ ์ฝ”๋“œ๋กœ...)
  2. ๋ช‡ ๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์ ํ™”์‹์„ ์„ธ์šด๋‹ค.

๋‚˜๋Š” 1๋ฒˆ ๋ถ€๋ถ„์„ ํ•˜๋‹ค๊ฐ€ ์ˆ˜๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด๊นŒ๋ด... ๋‹ค๋ฅธ๋ฐ์„œ ๊ฐ€์ ธ์™”๋‹ค

๋‚˜๊ฐ™์€ ์‚ฌ๋žŒ์„ ์œ„ํ•ด

3 x n ํƒ€์ผ๋ง 0~10๊นŒ์ง€

์ด์ œ ์œ„์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์‹์„ ์„ธ์šฐ๋ฉด ๋œ๋‹ค. ๊ทœ์น™์„ฑ์€ ๋ฌด์กฐ๊ฑด ์žˆ๋‹ค

 

๐Ÿ’จ

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

def solution(n):
    answer = 0
    dp = [0] * (n + 1)
    dp[0] = 1  # ์•„๋ฌด๊ฒƒ๋„ ๋‘์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ 1๊ฐ€์ง€
    sub = 0
    for i in range(2, n + 1, 2):
        dp[i] = dp[i - 2] * 3 + sub * 2
        sub += dp[i - 2]

    answer = dp[n] % 1000000007

    return answer

 

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋งํฌ: https://programmers.co.kr/learn/courses/30/lessons/12902

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 3 x n ํƒ€์ผ๋ง

 

programmers.co.kr


๋ฌธ์ œ ์„ค๋ช…

๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 2์ด๊ณ  ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 1์ธ ์ง์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํƒ€์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ง์‚ฌ๊ฐํ˜• ํƒ€์ผ์„ ์ด์šฉํ•˜์—ฌ ์„ธ๋กœ์˜ ๊ธธ์ด๊ฐ€ 3์ด๊ณ  ๊ฐ€๋กœ์˜ ๊ธธ์ด๊ฐ€ n์ธ ๋ฐ”๋‹ฅ์„ ๊ฐ€๋“ ์ฑ„์šฐ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํƒ€์ผ์„ ์ฑ„์šธ ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค

  • ํƒ€์ผ์„ ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ
  • ํƒ€์ผ์„ ์„ธ๋กœ๋กœ ๋ฐฐ์น˜ ํ•˜๋Š” ๊ฒฝ์šฐ

์˜ˆ๋ฅผ๋“ค์–ด์„œ n์ด 8์ธ ์ง์‚ฌ๊ฐํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฑ„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง์‚ฌ๊ฐํ˜•์˜ ๊ฐ€๋กœ์˜ ๊ธธ์ด n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ์ง์‚ฌ๊ฐํ˜•์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • ๊ฐ€๋กœ์˜ ๊ธธ์ด n์€ 5,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค.
  • ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋งŽ์•„ ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ 1,000,000,007์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ returnํ•ด์ฃผ์„ธ์š”.

์ž…์ถœ๋ ฅ ์˜ˆ

nresult

4 11

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1
๋‹ค์Œ๊ณผ ๊ฐ™์ด 11๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

 

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm Problem > Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[python] ๋ฐฑ์ค€ - 16953. A โ†’ B  (0) 2020.09.18
[python] SWEA - 1248. ๊ณตํ†ต์กฐ์ƒ  (0) 2020.09.17
[python] ๋ฐฑ์ค€ - 9658. ๋Œ ๊ฒŒ์ž„4  (0) 2020.09.16
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ง€ํ˜• ํŽธ์ง‘  (2) 2020.09.16
[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆซ์ž ๋ธ”๋ก  (1) 2020.09.15
    'Algorithm Problem/Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [python] ๋ฐฑ์ค€ - 16953. A → B
    • [python] SWEA - 1248. ๊ณตํ†ต์กฐ์ƒ
    • [python] ๋ฐฑ์ค€ - 9658. ๋Œ ๊ฒŒ์ž„4
    • [python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ง€ํ˜• ํŽธ์ง‘
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”