glowing713
Frontend-Deep-Dive
glowing713
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (97)
    • Languages (11)
      • JavaScript ๐Ÿ’› (3)
      • Python ๐Ÿ (4)
      • Java โ˜•๏ธ (3)
      • Swift ๐Ÿงก (1)
    • Computer_Science (1)
      • Computer_Network ๐Ÿ•ธ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring ๐Ÿ€ (1)
    • AI (2)
      • NLP ๐Ÿ—ฃ (1)
      • AI_Math โž— (1)
    • ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊พธ๋ฏธ๊ธฐ โœŒ (1)
    • ์ƒ๊ฐ์ •๋ฆฌ โœ๐Ÿป (1)

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

  • ๐Ÿง‘๐Ÿปโ€๐Ÿ’ปGithub

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • mst
  • ๋™์ ๊ณ„ํš๋ฒ•
  • Baekjoon
  • bfs
  • boostcampaitech
  • Python
  • ps
  • Java
  • ์นด์นด์˜ค ๊ธฐ์ถœ
  • binary search
  • Stack
  • brute-force
  • DP
  • ์™„์ „ํƒ์ƒ‰
  • c++
  • 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ด๋ถ„ํƒ์ƒ‰
  • BOJ
  • Algorithm

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
glowing713

Frontend-Deep-Dive

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„๋‘‘์งˆ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
Problem_Solving

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„๋‘‘์งˆ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)

2021. 3. 11. 16:43

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฌธ์ œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ’ญ ๋ฌธ์ œ ์ดํ•ด

 

๋‘ ์ˆ˜๋ฅผ ์ธ์ ‘ํ•˜์ง€ ์•Š๊ฒŒ ์„ ํƒํ•˜์—ฌ ์ตœ๋Œ€ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

๋งˆ์„์ด ์›ํ˜•๊ตฌ์กฐ์ด๋ฏ€๋กœ 1, 2, 3, 4๋ฒˆ ์ง‘์ด ์žˆ์„ ๋•Œ,

1๋ฒˆ์€ 2๋ฒˆ, 4๋ฒˆ๊ณผ ์ธ์ ‘ํ•ด์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ 1๋ฒˆ์„ ์„ ํƒํ•  ๋•Œ์˜ ๊ฒฝ์šฐ(2, 4๋ฒˆ์€ ์„ ํƒ๋ถˆ๊ฐ€)์™€ 1๋ฒˆ์„ ์„ ํƒํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ(1๋ฒˆ๋งŒ ์‚ฌ์šฉ๋ถˆ๊ฐ€)๋ฅผ ๋‚˜๋ˆ„์–ด์„œ

๋‘ ๊ฒฐ๊ณผ๊ฐ’ ์ค‘ ์ตœ๋Œ€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.

 

 

๊ตฌํ˜„ ์–ธ์–ด: Python

 

def solution(money):
    # 3 1 4 7 2 5
    case1 = [i for i in money]
    case2 = [i for i in money]
    # ์ฒซ ๋ฒˆ์งธ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ
    case1[1], case1[-1] = case1[0], 0
    # ์ฒซ ๋ฒˆ์งธ๋ฅผ ์„ ํƒํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
    case2[0] = 0
    
    for i in range(2, len(money)):
        case1[i] = max(case1[i-1], case1[i-2] + case1[i])
        case2[i] = max(case2[i-1], case2[i-2] + case2[i])
    
    # print(f'case1: {case1}')
    # print(f'case2: {case2}')
    
    return max(case1[-1], case2[-1])

 

์—ฌ๊ธฐ์„œ, ์ œ์ถœํ–ˆ์„ ๋•Œ ๊ณ„์†ํ•ด์„œ 1๋ฒˆ ์ผ€์ด์Šค๋งŒ ํ‹€๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์˜ฌ๋ ค์ฃผ์‹  ๋Œ“๊ธ€์„ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋‚˜๋Š” ์ด์ „(i-1)๊ณผ ๊ทธ ์ด์ „(i-2)๋ฅผ ์ฒดํฌํ•˜๋Š”๋ฐ,

 

10 0 0 1000 10 2 ์™€ ๊ฐ™์€ ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„๋‚ด์ง€ ๋ชปํ•˜๋Š” ๊ฑธ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

 

์œ„ ์˜ˆ์ œ์—์„œ 10๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒฝ์šฐ, ๋‘ ๋ฒˆ์งธ์ธ 0๊ณผ ๋งˆ์ง€๋ง‰์ธ 2๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ–ˆ์—ˆ๋Š”๋ฐ

๋‘ ๋ฒˆ์งธ ๊ฐ’์ธ 0์„ ์ฒซ ๋ฒˆ์งธ์™€ ๊ฐ™์€ ๊ฐ’์ธ 10์œผ๋กœ ๋งŒ๋“ค์–ด์„œ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์˜ ์†์‹ค์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

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

'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ / ํ(Queue)  (0) 2021.03.12
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€์žฅ ํฐ ์ˆ˜ / ์ •๋ ฌ  (0) 2021.03.11
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋“ฑ๊ตฃ๊ธธ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2021.03.11
[BOJ] ๋ฐฑ์ค€ 1535 ์•ˆ๋…• / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2021.03.11
[BOJ] ๋ฐฑ์ค€ 2512 ์˜ˆ์‚ฐ / ์ด๋ถ„ํƒ์ƒ‰  (0) 2021.02.11
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ / ํ(Queue)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ฐ€์žฅ ํฐ ์ˆ˜ / ์ •๋ ฌ
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋“ฑ๊ตฃ๊ธธ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    • [BOJ] ๋ฐฑ์ค€ 1535 ์•ˆ๋…• / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    glowing713
    glowing713

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