BuNa_
IT Story
BuNa_
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (117)
    • CS (14)
      • ์šด์˜์ฒด์ œ (8)
      • ๋„คํŠธ์›Œํฌ (0)
      • Design Pattern (1)
      • OOP (4)
    • ๋Œ€์™ธํ™œ๋™ (24)
      • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค (14)
      • DND ๋™์•„๋ฆฌ (4)
      • UMC ๋™์•„๋ฆฌ (5)
      • ํ•ด์ปคํ†ค (1)
    • Android (29)
      • MVVM (2)
      • ์Šคํ„ฐ๋”” (11)
      • Compose (3)
      • Unit Test (1)
    • Project (5)
      • ์–ด๋”ฐ์„ธ์›Œ (5)
      • DnD ๊ณผ์™ธ ์„œ๋น„์Šค (0)
    • Programming (11)
      • Kotlin (4)
      • ํŒŒ์ด์ฌ (7)
    • Git (1)
    • ์ธ๊ณต์ง€๋Šฅ (22)
    • ๋ฐฑ์ค€ (8)
    • ๊ธฐํƒ€ (3)
      • IntelliJ (1)
      • ์ผ์ƒ (0)

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

  • ํ™ˆ

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

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Ai
  • ๋”ฅ๋Ÿฌ๋‹
  • External fragmentation
  • ์šฐํ…Œ์ฝ”
  • Compose
  • k-means++
  • ์–ด๋”ฐ์„ธ์›Œ
  • ์ปด๊ณต์„ ๋ฐฐ
  • ์…€๋ ˆ๋‹ˆ์›€
  • Baekjoon
  • ์šฐํ…Œ์ฝ” ํ”„๋ฆฌ์ฝ”์Šค
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”
  • ์›์‹œ๊ฐ’ ํฌ์žฅ
  • Android
  • RecyclerView
  • ์ธ๊ณต์ง€๋Šฅ
  • ์ธ๊ณต์ง€๋Šฅ ๋ถ„๋ฅ˜
  • K-means
  • ์•ˆ๋“œ๋กœ์ด๋“œ
  • ๋ฐฑ์ค€
  • ํŒŒ์ด์ฌ
  • ์šด์˜์ฒด์ œ
  • MVVM
  • ์šฐํ…Œ์ฝ” 5๊ธฐ
  • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
  • UMC
  • ViewModel
  • ์„ ํ˜•ํšŒ๊ท€
  • ๊ฐ์ฒด์ง€ํ–ฅ ์ƒํ™œ์ฒด์กฐ
  • ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ

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

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

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

IT Story

[๋ฐฑ์ค€ - Python] 2839๋ฒˆ : ์„คํƒ• ๋ฐฐ๋‹ฌ
๋ฐฑ์ค€

[๋ฐฑ์ค€ - Python] 2839๋ฒˆ : ์„คํƒ• ๋ฐฐ๋‹ฌ

2022. 9. 20. 17:10

 

 

๐ŸŒฑ   ๋ฌธ์ œ

https://www.acmicpc.net/problem/2839

 

2839๋ฒˆ: ์„คํƒ• ๋ฐฐ๋‹ฌ

์ƒ๊ทผ์ด๋Š” ์š”์ฆ˜ ์„คํƒ•๊ณต์žฅ์—์„œ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ง€๊ธˆ ์‚ฌํƒ•๊ฐ€๊ฒŒ์— ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์„คํƒ•๊ณต์žฅ์—์„œ ๋งŒ๋“œ๋Š” ์„คํƒ•์€ ๋ด‰์ง€์— ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค. ๋ด‰์ง€๋Š” 3ํ‚ฌ๋กœ๊ทธ

www.acmicpc.net

 

๐Ÿ’ก   ์„ค๋ช…

ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋˜๋Š” ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์š”๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

์šฐ์„  ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํ’€์ด๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 2๊ฐ€์ง€ ์กฐ๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

1. ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ (Optimal substructure)

2. ์ค‘๋ณต ๋ถ€๋ถ„ ๋ฌธ์ œ (Overlapping subproblems)

์ฆ‰, ํฐ ๋ฌธ์ œ ์ƒํ™ฉ์„ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด์„œ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•  ๋•Œ, ์ค‘๋ณต๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒ ํ•˜๋ฉฐ, ์ž‘๊ฒŒ ๋‚˜๋ˆ ์ง„ ๋ฌธ์ œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€๋ฅผ ์ƒ๊ฐํ•ด๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์šฐ์„  ์„คํƒ•์ด 3kg ๋˜๋Š” 5kg์ธ ๊ฒฝ์šฐ, ๊ฐ๊ฐ 1๊ฐœ์˜ ๋ด‰์ง€๋งŒ ๊ฐ€์ ธ๊ฐ€๋„ ์ฐธ์ด ๋˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋ฌธ์ œ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๊ทธ ๋‹ค์Œ์œผ๋กœ ํฐ ์ˆซ์ž์ธ 6kg์„ ๊ฐ€์ ธ๊ฐ€๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

3kg + 3kg ์œผ๋กœ 6kg๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์‹ค์€ 6kg(ํฐ ๋ฌธ์ œ)๋ฅผ 2๊ฐœ์˜ 3kg(์ค‘๋ณต ๋ถ€๋ถ„ ๋ฌธ์ œ) ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋“ค์ด 3kg(1ํšŒ)๋กœ ์ตœ์ ์˜ ํ•ด(์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ํ’€์ด๋Š” ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์œผ๋กœ ํ•ด๊ฒฐํ•œ ์†Œ์Šค์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

 

โœ๏ธ   ์†Œ์Šค์ฝ”๋“œ

#-*- coding:utf-8 -*-
import sys
INF = sys.maxsize

input = sys.stdin.readline
MIS = lambda: map(int, input().rstrip().split())

n = int(input())

# iKG์— ๋Œ€ํ•œ ์ตœ์†Œ ๋ฐฐ๋‹ฌ ํšŸ์ˆ˜๋ฅผ ๊ธฐ๋ก
# n์˜ ๋ฒ”์œ„๋Š” 3 ~ 5000 ์‚ฌ์ด
dp = [INF] * (5001)

# ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋Š” ๋ฌดํ•œ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”
# ์ตœ์†Œ ์ƒํ™ฉ์— ๋Œ€ํ•ด ๋ฏธ๋ฆฌ ์ดˆ๊ธฐํ™”
dp[3], dp[4], dp[5] = (1, INF, 1)

# iKG์„ ๋ฐฐ๋‹ฌํ•˜๋Š” ํšŸ์ˆ˜ =
# iKG์˜ ๊ธฐ์กด ๋ฐฐ๋‹ฌ ํšŸ์ˆ˜์™€, (i-3)KG ๋˜๋Š” (i-5)KG์—์„œ 1ํšŒ๋ฅผ ๋”ํ•˜์—ฌ ์ตœ์†Œ ๊ฐ’์œผ๋กœ ์žฌํ• ๋‹น
for i in range(6, n+1):
    dp[i] = min(dp[i], dp[i-3] + 1, dp[i-5] + 1)

# ๋ฐฐ๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” INF ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ -1
# ๋ฐฐ๋‹ฌ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์—๋Š” ์ตœ์†Œ ๋ฐฐ๋‹ฌ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅ
print(dp[n]) if dp[n] != INF else print(-1)

 

 

 

github : https://github.com/tmdgh1592

 

tmdgh1592 - Overview

๋А๋ฆฌ๋”๋ผ๋„ ์ฒœ์ฒœํžˆ..!! ๐Ÿ˜. tmdgh1592 has 21 repositories available. Follow their code on GitHub.

github.com

 

 

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

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

[๋ฐฑ์ค€ - Python] 2579๋ฒˆ : ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ  (1) 2022.09.28
[๋ฐฑ์ค€ - Python] 1697๋ฒˆ : ์ˆจ๋ฐ”๊ผญ์งˆ  (0) 2022.09.27
[๋ฐฑ์ค€ - Python] 2671๋ฒˆ : ์ž ์ˆ˜ํ•จ์‹๋ณ„  (0) 2022.09.14
[๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1004๋ฒˆ ๋ฌธ์ œ '์–ด๋ฆฐ ์™•์ž'  (14) 2021.06.11
[๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1003๋ฒˆ ๋ฌธ์ œ 'ํ”ผ๋ณด๋‚˜์น˜ ํ•จ์ˆ˜'  (16) 2021.06.10
    '๋ฐฑ์ค€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฐฑ์ค€ - Python] 2579๋ฒˆ : ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ
    • [๋ฐฑ์ค€ - Python] 1697๋ฒˆ : ์ˆจ๋ฐ”๊ผญ์งˆ
    • [๋ฐฑ์ค€ - Python] 2671๋ฒˆ : ์ž ์ˆ˜ํ•จ์‹๋ณ„
    • [๋ฐฑ์ค€/ํŒŒ์ด์ฌ] 1004๋ฒˆ ๋ฌธ์ œ '์–ด๋ฆฐ ์™•์ž'
    BuNa_
    BuNa_
    ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž๋ฅผ ํ–ฅํ•ด ๋‹ฌ๋ฆฌ๊ณ  ์žˆ๋Š” ๊ณต๋Œ€์ƒ์ž…๋‹ˆ๋‹ค! ๐Ÿง‘ Android, Kotlin, Java, Python ๋“ฑ ํ•™์Šตํ•˜๊ณ  ์žˆ๋Š” ๋‚ด์šฉ๊ณผ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋กœ ์—…๋กœ๋“œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์ ๊ณผ ์กฐ์–ธ์€ ์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค!๐Ÿ˜Š github : https://github.com/tmdgh1592

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