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

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

๋‚˜์˜ ๋‹ต

# ๋ฐฑ์ค€ 2839๋ฒˆ : ์„คํƒ• ๋ฐฐ๋‹ฌ
# 2020-02-01

num = int(input())
count = 0

while num>=3 :
    if not(num%5) : # 5์˜ ๋ฐฐ์ˆ˜์ด๋ฉด
        count+= num/5
        break
    else :
        count+=1
    num-=3

if num==1 or num==2:
    count = -1
else :
    count += 0

print(int(count))
๋ถ„์„
  1. ๋‹ค์ด๋‚˜๋ฏน ์•Œ๊ณ ๋ฆฌ์ฆ˜

     ์•ž์„  2๋ฌธ์ œ์˜ ์˜ํ–ฅ์œผ๋กœ ์ฒ˜์Œ์—๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ์•„๋ณผ๊นŒ ์ƒ๊ฐํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ „ ๋ฌธ์ œ์™€ ๋‹ฌ๋ฆฌ ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ํ™•์—ฐํžˆ ์ปค์ง„๋ฐ๋‹ค๊ฐ€ ์—ฐ์‚ฐ์˜ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆด ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์€ ์•„๋‹ ๊ฑฐ๋ผ๊ณ  ๊ฒฐ๋ก  ๋‚ด๋ ธ๋‹ค.

  2. ๊ฒฝ์šฐ์˜ ์ˆ˜ (ํŠน์ง• ์ฐพ๊ธฐ)

     ๊ทธ๋ ‡๋‹ค๋ฉด ๋ญ”๊ฐ€ ํŠน์ง•์ด ์žˆ๊ณ , ์–ด๋–ค ์ˆ˜๋Š” ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ง€์— ๋Œ€ํ•œ ๊ทœ์น™์ด ์žˆ์ง€ ์•Š์„๊นŒ ์‹ถ์–ด ์˜ˆ์ œ์— ๋‚˜์˜จ ์ˆ˜๋ฅผ ๋น„๋กฏํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ˆ˜๋“ค์„ ์“ฐ๋ฉด์„œ ๋…ผ๋ฆฌ์˜ ํ๋ฆ„์„ ๋ณด์•˜๋‹ค.

     ์šฐ์„  ์–ด๋– ํ•œ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด 5๋กœ ๋‚˜๋ˆ„์–ด๋ณด๊ณ  ๋‚˜๋‰˜์–ด์ง€๋ฉด 5kg์˜ ๋ด‰์ง€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ตœ์†Œ์˜ ๋ด‰์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž„์€ ํ™•์‹คํ–ˆ๋‹ค.

     ๊ทธ๋ ‡๋‹ค๋ฉด 5๋กœ ๋‚˜๋‰˜์–ด์ง€์ง€ ์•Š๋Š” ์ˆ˜๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋Š” ๊ฒƒ์ผ๊นŒ? ๊ทธ ์˜ˆ๋กœ 21์„ ๊ณ„์‚ฐํ•ด๋ณด๋‹ˆ 3kg * 7๊ฐœ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ 5kg*3๊ฐœ, 3kg*2๊ฐœ ๊ฐ€ ๋” ์ ์€ ๋ด‰์ง€ ์ˆ˜๋กœ 21kg๋ฅผ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

     ์ด๋Ÿฐ ๋‘ ๊ฐ€์ง€ ์ƒํ™ฉ์œผ๋กœ ์œ ์ถ”ํ•ด๋ณผ ๋•Œ

    5kg ๋ด‰์ง€๋งŒ ์‚ฌ์šฉ > 5kg + 3kg ์„ž์–ด์„œ ์‚ฌ์šฉ > 3kg ๋ด‰์ง€๋งŒ ์‚ฌ์šฉ > ํ‘œํ˜„ ๋ถˆ๊ฐ€

    ์ด๋Ÿฌํ•œ ์šฐ์„ ์ˆœ์œ„๋กœ ์ ์šฉ๋˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์ด ์ ์šฉ๋˜๋Š” ์ˆ˜๋Š”

    5์˜ ๋ฐฐ์ˆ˜ > 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋นผ๋ฉด 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ์ˆ˜ > 3์˜ ๋ฐฐ์ˆ˜๋งŒ์„ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜ > ํ‘œํ˜„ ์•ˆ๋˜๋Š” ์ˆ˜ ์ด๋‹ค.

    ํŠนํžˆ 2๋ฒˆ์งธ์˜ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋นผ๋ฉด 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ์ˆ˜๋Š” 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋นผ๋ฉด 3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ์ˆ˜๋กœ๋„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ์—ฐ์‚ฐ์‹œ 5์˜ ๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๋‹ค๊ณ  ์ƒ๊ฐํ•ด์„œ ์ „์ž๋กœ ์žก์•˜๋‹ค.

 ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 ์ฃผ์–ด์ง„ N์ด ๋ฐ”๋กœ 5๋กœ ๋‚˜๋ˆ„์–ด์ง„๋‹ค๋ฉด N์€ 5์˜ ๋ฐฐ์ˆ˜๊ณ  ์œ„์—์„œ ์„ค๋ช…ํ•œ ์ฒซ๋ฒˆ์งธ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 5kg ๋ด‰์ง€๋งŒ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

 ๋ฐ”๋กœ 5๋กœ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ด๋„ N์—์„œ 3์„ ๋นผ๋ฉด์„œ count๋ฅผ ๋”ํ•ด๊ฐ€๋ฉด count๋Š” 3kg ๋ด‰์ง€์˜ ๊ฐฏ์ˆ˜๋งŒํผ ๋”ํ•ด์ง€๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  N์—์„œ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋บ€ ์–ด๋–ค ์ˆ˜๊ฐ€ 5๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ์ˆ˜๊ฐ€ ๋œ๋‹ค๋ฉด ์ด ๋•Œ๊ป ๋”ํ•ด์ง„ count ์ˆ˜(3kg ๋ด‰์ง€์˜ ์ˆ˜)์—๋‹ค๊ฐ€ ํ˜„์žฌ ์ˆ˜๋ฅผ 5๋กœ ๋‚˜๋ˆˆ ๋ชซ(5kg ๋ด‰์ง€์˜ ์ˆ˜)๋ฅผ ๋”ํ•˜๋ฉด ๋œ๋‹ค. ์ด๋Š” ๋‘๋ฒˆ์งธ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋ฉฐ 5kg, 3kg ๋ด‰์ง€๋ฅผ ์„ž์–ด์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

 N์—์„œ 3์„ ๋นผ๋Š” ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณตํ–ˆ๋”๋‹ˆ ๋‚จ์€ ์ˆ˜๊ฐ€ 3๋ณด๋‹ค ์ž‘์•„์กŒ๋‹ค๋ฉด 2๊ฐ€์ง€ ์ผ€์ด์Šค๊ฐ€ ๋‚จ์•˜๋‹ค. ๋งˆ์ง€๋ง‰ ๋‚จ์€ ์ˆ˜๊ฐ€ 0์ด๋ผ๋ฉด N์€ 3์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ 3์˜ ๋ฐฐ์ˆ˜์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋•Œ๊ป ๋”ํ•ด์˜จ count ์ˆ˜๊ฐ€ ๊ณง 3kg ๋ด‰์ง€์˜ ์ˆ˜์ด๋ฉฐ ์„ธ๋ฒˆ์งธ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค.

 ํ•˜์ง€๋งŒ ๋‚จ์€ ์ˆ˜๊ฐ€ 1 ๋˜๋Š” 2๋ผ๋ฉด ์ด๋Š” ์•ž์„  3๊ฐ€์ง€ ๊ฒฝ์šฐ ๋ชจ๋‘ ํ•ด๋‹นํ•˜์ง€ ์•Š๊ณ  ์‹ฌ์ง€์–ด 3์˜ ๋ฐฐ์ˆ˜๋„ ์•„๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋„ ์„คํƒ•์€ ์ •ํ™•ํžˆ ์˜ฎ๊ธธ ์ˆ˜ ์—†๋‹ค. ์ด๋Š” 4๋ฒˆ์งธ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๋ฉฐ count ๊ฐ’์œผ๋กœ -1์„ ํ• ๋‹นํ•˜์—ฌ์•ผํ•œ๋‹ค.

์˜ˆ์ œ

 ์–ด๋–ค ์ˆ˜ N์ด 21์ด๋ผ๊ณ  ๋‘๊ณ  ์˜ˆ์ œ๋กœ ์„ค๋ช…ํ•˜๊ฒ ๋‹ค.

21์€ 5๋กœ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š์œผ๋ฏ€๋กœ 3์„ ๋นผ๊ณ  count์— 1์„ ๋”ํ•œ๋‹ค. (ํ˜„์žฌ count๋Š” 1). 18์€ 5๋กœ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‹ค์‹œ 3์„ ๋นผ๊ณ  count์— 1์„ ๋”ํ•œ๋‹ค. (ํ˜„์žฌ count๋Š” 2). 15๋Š” 5๋กœ ๋‚˜๋ˆ„์–ด์ง€๋ฏ€๋กœ 5๋กœ ๋‚˜๋ˆˆ ๋ชซ์„ count์— ๋”ํ•œ๋‹ค. 3+2 (๋ชซ+ํ˜„์žฌcount) = 5.

 ์ฆ‰, ์„คํƒ• 21kg์€ 5kg ๋ด‰์ง€ 3๊ฐœ์™€ 3kg ๋ด‰์ง€ 2๊ฐœ๋กœ ์ •ํ™•ํžˆ ๋ฐฐ๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค๋ฅธ ๋‹ต

2020-04-19 ์ถ”๊ฐ€

๊ฐ„๋‹จํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

def func(N): // N์„ ๋ฐ›์•„์„œ
    for i๊ฐ€ 0๋ถ€ํ„ฐ N/5๊นŒ์ง€ ๋Œ๋ฉด์„œ // 5๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ํšŸ์ˆ˜
        N์—์„œ 5*i๋ฅผ ๋นผ๊ณ  count์— i ๋”ํ•˜๊ธฐ (5 ๋‚˜์˜จ ํšŸ์ˆ˜)
        ๋‚จ๋Š” ์ˆ˜(n)๊ฐ€ 3์˜ ๋ฐฐ์ˆ˜๋ฉด
        n/3์„ count์— ๋”ํ•˜๊ธฐ (3 ๋‚˜์˜จ ํšŸ์ˆ˜)
        min ๊ณ„์‚ฐ

 ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, 5kg ์งœ๋ฆฌ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์„ธ๋ฉด์„œ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋Š” ์ง€ ํ™•์ธํ•˜๊ณ  ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ์— ํ•œํ•ด์„œ count๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…ํ•˜์ž๋ฉด 21์ด๋ผ๋Š” ์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ, 5๋Š” ์ตœ๋Œ€ 4๋ฒˆ๊นŒ์ง€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ for๋ฌธ์„ 0~4๊นŒ์ง€ ๋ˆ๋‹ค. 5๊ฐ€ ํ•œ๋ฒˆ๋„ ์•ˆ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์ธ i๊ฐ€ 0์ธ ๊ฒฝ์šฐ๋ฅผ ๋ณด๋ฉด ๋‚จ๋Š” ์ˆ˜๋Š” 21์ด๊ณ  3์˜ ๋ฐฐ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— 21/3 = 7์„ count์— ๋”ํ•˜๋ฉด ์ด count๋Š” 7์ด๋‹ค. ์ฆ‰, 21์€ 5ํ‚ค๋กœ 0๊ฐœ์™€ 3ํ‚ค๋กœ 7๊ฐœ๋กœ ๋ฐฐ๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 ์ด๋ ‡๊ฒŒ i๋ฅผ ๋Œ๋‹ค๊ฐ€ i๊ฐ€ 3์ธ ๊ฒฝ์šฐ๋ฅผ ๋ณด์ž. i๊ฐ€ 3์ธ ๊ฒฝ์šฐ์— 21-5*3 = 6 ์ด๋ฏ€๋กœ count์— 3์„ ๋”ํ•˜๊ณ  ๋‚จ๋Š” ์ˆ˜ 6์ด ๋‚˜ํƒ€๋‚œ๋‹ค. 6์ด 3์˜ ๋ฐฐ์ˆ˜์ด๋ฏ€๋กœ 6/3 = 2๋ฅผ count์— ๋”ํ•œ๋‹ค. count๋Š” 5์ด๋ฏ€๋กœ ์ด์ „์— ๋‚˜์™”๋˜ 7๋ณด๋‹ค ์ž‘๋‹ค. ๋”ฐ๋ผ์„œ min ๊ณ„์‚ฐ์—์„œ 5๊ฐ€ ์ตœ์†Œ๋กœ ๋‚˜์˜จ๋‹ค.

๋ฐ˜์‘ํ˜•