Problem Solving/BOJ & Programmers

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

geum 2024. 8. 27. 16:11

โœ๏ธ ๋ฌธ์ œ

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

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

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

 

๐Ÿค– ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

 

๐Ÿ’ก ํ’€์ด

์ด์ฝ”ํ…Œ ์ฑ…์œผ๋กœ ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ์„ธ๋ฅผ ์ด์–ด ๋ฐฑ์ค€์—์„œ ๊ทธ๋ฆฌ๋”” ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜๋œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋Š” ์ค‘์ด๋‹ค.

 

์•„์ด๋””์–ด 1๏ธโƒฃ

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ’€๊ธฐ ์œ„ํ•ด ์ฒ˜์Œ ๋– ์˜ฌ๋ฆฐ ์•„์ด๋””์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

โ…ฐ. N์ด 5์˜ ๋ฐฐ์ˆ˜์ธ ๊ฒฝ์šฐ → ๋‹ต์€ N//5

โ…ฑ. N์ด 3์˜ ๋ฐฐ์ˆ˜์ธ ๊ฒฝ์šฐ → ๋‹ต์€ N//3

โ…ฒ. N์ด 3์˜ ๋ฐฐ์ˆ˜๋„ ์•„๋‹ˆ๊ณ  5์˜ ๋ฐฐ์ˆ˜๋„ ์•„๋‹Œ ๊ฒฝ์šฐ → N์ด 7, 8, 11, ...

 

์ฒซ ๋ฒˆ์งธ์™€ ๋‘ ๋ฒˆ์งธ ์ผ€์ด์Šค๋Š” ๋‹ต์ด ๋ช…ํ™•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— '์„ธ ๋ฒˆ์งธ ์ผ€์ด์Šค๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š๋ƒ'๊ฐ€ ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

๊ทธ๋Ÿฐ๋ฐ ์„ธ ๋ฒˆ์งธ ์ผ€์ด์Šค์— ๋Œ€ํ•ด์„œ ๊ณ„์† ์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ

 

1) N์—์„œ 5๋ฅผ ๋บ€ ๊ฐ’(์ตœ๋Œ€ํ•œ N์„ ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด๋‚˜๊ฐ€๋Š” ๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ)์ด 3์ด๋‚˜ 5๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š”์ง€ ์ฒดํฌ

2) 3์ด๋‚˜ 5๋ฅผ ๋บ€ ๊ณผ์ •์—์„œ ๋ฌด์กฐ๊ฑด ํ•˜๋‚˜์˜ ์„คํƒ•์„ ์˜ฎ๊ธด ๊ฑฐ๋‹ˆ๊นŒ ๋‹ต์— +1

 

์—ฌ๊ธฐ๊นŒ์ง€์˜ ๊ณผ์ •์—์„œ๋ถ€ํ„ฐ ํ—ˆ์ ์ด ๋ณด์˜€๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, 8์ด๋‚˜ 11์€ 3๊ณผ 5๋ฅผ ์ž˜ ์กฐํ•ฉํ•˜๋ฉด ๋‹ต์ด ๋‚˜์˜ค๋Š”๋ฐ 7์€ ์–ด๋–ป๊ฒŒ ํ•ด๋„ ์ € ๊ฐ’์„ ๋งŒ๋“ค ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— -1์ด ๋‚˜์™€์•ผ ํ•œ๋‹ค.  ๊ทธ๋Ÿฐ๋ฐ ๊ณ„์‚ฐ์„ ๋ฉˆ์ถ”๋Š” ์กฐ๊ฑด์„ ์–ด๋–ป๊ฒŒ ๊ฑธ์–ด์ค˜์•ผ ํ•˜์ง€?๊ฐ€ ๊ฐ€์žฅ ํฐ ๊ณ ๋ฏผ์ด์—ˆ๊ณ , ์ด๊ฒƒ ๋ง๊ณ ๋„ ๋‹ค์–‘ํ•œ ์˜๋ฌธ์ด ๋“ค์—ˆ์œผ๋ฏ€๋กœ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋กœ์ง์ด ๋ญ”๊ฐ€ ์ž˜๋ชป๋๊ตฌ๋‚˜! ์‹ถ์—ˆ๋‹ค.

 

์•„์ด๋””์–ด 2๏ธโƒฃ

๋‘ ๋ฒˆ์งธ ์•„์ด๋””์–ด๋Š” '5kg์งœ๋ฆฌ ์„คํƒ•์„ ๋ฌด์กฐ๊ฑด ๋จผ์ € ๊ณ ๋ คํ•˜๊ณ  ๋‚จ์€ ๋ฌด๊ฒŒ๋ฅผ 3kg๋กœ ์ฑ„์šฐ๋Š” ๊ฒƒ'์ด๋‹ค.

 

import sys

N = int(sys.stdin.readline().strip())

answer = -1

for i in range(N//5, -1, -1):
    remainder = N-(i*5)
    
    if remainder%3 == 0:
        answer = i+(remainder//3)
        break   # ๋‹ต์ด ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์† ๊ณ„์‚ฐํ•  ํ•„์š”๊ฐ€ ์—†์Œ

print(answer)

 

 

๋ฐ˜๋ณต๋ฌธ ๋ฒ”์œ„๋ฅผ ์•„์˜ˆ ์ตœ๋Œ€๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” 5kg ๋ด‰์ง€์˜ ์ˆ˜์— ๋งž์ถฐ๋†“๊ณ  ๊ฑฐ๊ธฐ์„œ ํ•˜๋‚˜์”ฉ ์ค„์—ฌ๊ฐ€๋ฉด์„œ ๊ฐ’์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. 5kg ๋ด‰์ง€๋ฅผ ์“ด ๋งŒํผ ๋นผ์ค€ ํ›„ 3์œผ๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋‚˜๋ˆ  ๋–จ์–ด์ง„๋‹ค๋ฉด ์ด๋ฏธ ๋‹ต์ด ๊ตฌํ•ด์ง„ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— break๋ฅผ ๊ฑธ์–ด ํƒˆ์ถœํ•ด์ค€๋‹ค.

 

์ด ๋•Œ 8๋ฒˆ ๋ผ์ธ์—์„œ remainder๋ผ๋Š” ์ถ”๊ฐ€์ ์ธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  N -= (i*5)๋ฅผ ์“ธ ๊ฒฝ์šฐ ๋‹ต์ด ์ด์ƒํ•˜๊ฒŒ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ์ฑ—์ง€ํ”ผํ‹ฐ์˜ ๋„์›€์„ ๋ฐ›์•˜๋‹ค.

 

์ด๋Ÿฐ ๋ฐ์„œ ์ฝ”๋”ฉ์˜ ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒŒ ์•„๋‹๊นŒ.. ๋‚œ ์•„์ง๋„ ๊ฐˆ ๊ธธ์ด ํ•œ์ฐธ ๋ฉ€๋‹ค โญ

'Problem Solving > BOJ & Programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ] 1463๋ฒˆ: 1๋กœ ๋งŒ๋“ค๊ธฐ  (1) 2024.09.03
[BOJ] 11399๋ฒˆ: ATM  (0) 2024.08.27
[BOJ] 2217๋ฒˆ: ๋กœํ”„  (1) 2024.02.25
[BOJ] 14501๋ฒˆ: ํ‡ด์‚ฌ  (1) 2024.02.05
[BOJ] 2960๋ฒˆ: RESETO  (0) 2024.01.18