๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Algorithm/BOJ

[BOJ] ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„คํƒ•๋ฐฐ๋‹ฌ

 

๋ฌธ์ œ

 

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

์ƒ๊ทผ์ด๋Š” ๊ท€์ฐฎ๊ธฐ ๋•Œ๋ฌธ์—, ์ตœ๋Œ€ํ•œ ์ ์€ ๋ด‰์ง€๋ฅผ ๋“ค๊ณ  ๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 18ํ‚ฌ๋กœ๊ทธ๋žจ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•  ๋•Œ, 3ํ‚ฌ๋กœ๊ทธ๋žจ ๋ด‰์ง€ 6๊ฐœ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ๋˜์ง€๋งŒ, 5ํ‚ฌ๋กœ๊ทธ๋žจ 3๊ฐœ์™€ 3ํ‚ฌ๋กœ๊ทธ๋žจ 1๊ฐœ๋ฅผ ๋ฐฐ๋‹ฌํ•˜๋ฉด, ๋” ์ ์€ ๊ฐœ์ˆ˜์˜ ๋ด‰์ง€๋ฅผ ๋ฐฐ๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

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

 

์ž…๋ ฅ

 

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (3 ≤ N ≤ 5000)

 

์ถœ๋ ฅ

 

์ƒ๊ทผ์ด๊ฐ€ ๋ฐฐ๋‹ฌํ•˜๋Š” ๋ด‰์ง€์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ, ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

ํ•ด์„ค ์ฝ”๋“œ
sugar = int(input())
bag = 0

while sugar >= 0:
  # sugar๊ฐ€ 5๋กœ ๋‚˜๋‰˜์–ด์ง€๋ฉด ๊ทธ๋Œ€๋กœ bag๋ฅผ ๊ตฌํ•จ 
  if sugar % 5 ==0:
    bag += (sugar//5)
    print(bag)
    break
  # sugar๊ฐ€ 5๋กœ ๋‚˜๋‰˜์–ด์ง€์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, (sugar - 3) ์„ ๋ฐ˜๋ณตํ•˜์—ฌ 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
  sugar -= 3
  # 3์„ ๋นผ๋ฉด ๊ทธ๋งŒํผ 3kg ๋ด‰์ง€ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ +1 ์„ ํ•จ
  bag += 1 

# sugar ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘์•„์ง€๋Š” ๊ฒฝ์šฐ๋Š” -1 ์„ ์ถœ๋ ฅ
else:
  print(-1)

์ด ์ฝ”๋“œ์˜ ์ „์ฒด์ ์ธ ์ „๊ฐœ ๋ฐฉ์‹์€ ์ž…๋ ฅ๋œ sugar ๊ฐ’์ด 5์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ 3์„ ๋นผ์ฃผ๋Š” ํ–‰์œ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

์˜ค๋‹ต ์ด์œ  ๋ฐ ์œ ์˜์ 

 

์ด ๋ฌธ์ œ๋ฅผ ์ฒ˜์Œ ํ’€์ดํ–ˆ์„ ๋•Œ, ๋‹จ์ˆœํ•˜๊ฒŒ ๊ฐ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์กฐ๊ฑด๋ฌธ์„ ์ „๋ถ€ ์ ์–ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€๋ ค๊ณ  ํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ค‘๊ฐ„ ์ค‘๊ฐ„ ์˜ˆ์‹œ ์ž…์ถœ๋ ฅ ๊ฐ’๊ณผ๋Š” ๋‹ค๋ฅธ ๊ฐ’์ด ๋‚˜์™”๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ์— ๋‹จ์ˆœํžˆ ์กฐ๊ฑด์„ ๋‚˜์—ดํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฐ”๋กœ ์ƒ๊ฐํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ ์ผ๋ฐ˜ํ™”๋œ ๊ณต์‹์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผ์„ ํ•œ ํ›„์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.