개발자 HOON
πŸ› HOON DEVLog
개발자 HOON
전체 방문자
였늘
μ–΄μ œ
  • 😎 전체 μΉ΄ν…Œκ³ λ¦¬ (137)
    • πŸ“ μ‹ μž… 인터뷰 μ€€λΉ„ (7)
    • πŸ¦” μ·¨μ—…μ€€λΉ„ 기둝 (7)
    • β˜• μžλ°” : JAVA (5)
    • 🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS (80)
    • 🌱 λ°±μ—”λ“œ : Backend (13)
    • πŸ§ͺ 컴퓨터과학 : CS (11)
    • πŸ—‚ λ°μ΄ν„°λ² μ΄μŠ€ : DB (1)
    • πŸƒ‍♂️ DEVLOG (8)
    • βš™οΈ Trouble Shooting (5)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ
  • GitHub
  • Resume

곡지사항

인기 κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
개발자 HOON

πŸ› HOON DEVLog

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ •μˆ˜ μ‚Όκ°ν˜• (level3, python)
🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ •μˆ˜ μ‚Όκ°ν˜• (level3, python)

2022. 9. 9. 14:49

문제 μ„€λͺ…

 

μœ„μ™€ 같은 μ‚Όκ°ν˜•μ˜ κΌ­λŒ€κΈ°μ—μ„œ λ°”λ‹₯κΉŒμ§€ μ΄μ–΄μ§€λŠ” 경둜 쀑, 거쳐간 숫자의 합이 κ°€μž₯ 큰 경우λ₯Ό 찾아보렀고 ν•©λ‹ˆλ‹€. μ•„λž˜ 칸으둜 이동할 λ•ŒλŠ” λŒ€κ°μ„  λ°©ν–₯으둜 ν•œ μΉΈ 였λ₯Έμͺ½ λ˜λŠ” μ™Όμͺ½μœΌλ‘œλ§Œ 이동 κ°€λŠ₯ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 3μ—μ„œλŠ” κ·Έ μ•„λž˜μΉΈμ˜ 8 λ˜λŠ” 1둜만 이동이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

 

μ‚Όκ°ν˜•μ˜ 정보가 λ‹΄κΈ΄ λ°°μ—΄ triangle이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, 거쳐간 숫자의 μ΅œλŒ“κ°’μ„ return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•˜μ„Έμš”.


μ œν•œμ‚¬ν•­
 
  • μ‚Όκ°ν˜•μ˜ λ†’μ΄λŠ” 1 이상 500 μ΄ν•˜μž…λ‹ˆλ‹€.
  • μ‚Όκ°ν˜•μ„ 이루고 μžˆλŠ” μˆ«μžλŠ” 0 이상 9,999 μ΄ν•˜μ˜ μ •μˆ˜μž…λ‹ˆλ‹€.

 

μž…μΆœλ ₯ 예
triangle return
[[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30

 

풀이 μ½”λ“œ

def solution(triangle):
    if len(triangle) == 1:
        return triangle[0][0]
    
    for h in range(1, len(triangle)):
        for r in range(h+1):
            if r == 0:
                triangle[h][r] = triangle[h][r] + triangle[h-1][r]
            elif r == h:
                triangle[h][r] = triangle[h][r] + triangle[h-1][r-1]
            else:
                triangle[h][r] = max(triangle[h][r] + triangle[h-1][r-1], triangle[h][r] + triangle[h-1][r])
                
    answer = max(triangle[-1])
    return answer

 

λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ°μ˜ μ „ν˜•μ μΈ 문제.

μ‚Όκ°ν˜•μ˜ κ°€μž₯ μ™Όμͺ½ μˆ˜λŠ”, triangle[h][r] += triangle[h-1][r]

κ°€μž₯ 였λ₯Έμͺ½ μˆ˜λŠ”, triangle[h][r] += triangle[h-1][r-1]

λ‚˜λ¨Έμ§€ μˆ˜λŠ” 두 λ°©ν–₯ 쀑 큰 λ°©ν–₯을 선택해 κ°±μ‹ ν•˜λ©΄ λœλ‹€.

μ΅œμ’…μ μœΌλ‘œ κ°€μž₯ μ•„λž˜ λ³€μ˜ μ›μ†Œ 쀑 κ°€μž₯ 큰 값을 μ„ νƒν•˜λ©΄ 정닡이닀.

 

 

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ 동일쑰건 (μƒˆμ°½μ—΄λ¦Ό)

'🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] κ΄„ν˜Έ νšŒμ „ν•˜κΈ° (level2, python)  (0) 2022.09.09
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ΄μ€‘μš°μ„ μˆœμœ„ν (level3, python)  (0) 2022.09.09
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] H-Index (level2, python)  (0) 2022.09.09
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] ν–‰λ ¬μ˜ κ³±μ…ˆ (level2, python)  (0) 2022.09.09
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] 점프와 μˆœκ°„μ΄λ™ (level2, python)  (0) 2022.09.09
    '🐍 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ : PS' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] κ΄„ν˜Έ νšŒμ „ν•˜κΈ° (level2, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] μ΄μ€‘μš°μ„ μˆœμœ„ν (level3, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] H-Index (level2, python)
    • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€] ν–‰λ ¬μ˜ κ³±μ…ˆ (level2, python)
    개발자 HOON
    개발자 HOON
    쒋은 λ°±μ—”λ“œ μ—”μ§€λ‹ˆμ–΄κ°€ 되기 μœ„ν•œ 기둝을 λͺ¨μ•˜μŠ΅λ‹ˆλ‹€. # μ£Όλ‹ˆμ–΄ # λ°±μ—”λ“œ # 개발자

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”