PS

[๋ฐฑ์ค€] 4796 ์บ ํ•‘ with Python

ํ˜•์ค€_It's 2023. 4. 14. 14:23
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ BOJ 4796 ์บ ํ•‘

๐Ÿ’ก ์กฐ๊ฑด

  1. ๋“ฑ์‚ฐ๊ฐ€ ๊น€๊ฐ•์‚ฐ์€ ๊ฐ€์กฑ๋“ค๊ณผ ํ•จ๊ป˜ ์บ ํ•‘์„ ๋– ๋‚ฌ๋‹ค. ํ•˜์ง€๋งŒ, ์บ ํ•‘์žฅ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ๊ณ ๋ฌธ์ด ์“ฐ์—ฌ ์žˆ์—ˆ๋‹ค.
    ์บ ํ•‘์žฅ์€ ์—ฐ์†ํ•˜๋Š” 20์ผ ์ค‘ 10์ผ๋™์•ˆ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ์บ ํ•‘์žฅ์„ ์—ฐ์†ํ•˜๋Š” P์ผ ์ค‘, L์ผ๋™์•ˆ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๊ฐ•์‚ฐ์ด๋Š” ์ด์ œ ๋ง‰ V์ผ์งœ๋ฆฌ ํœด๊ฐ€๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ฐ•์‚ฐ์ด๊ฐ€ ์บ ํ•‘์žฅ์„ ์ตœ๋Œ€ ๋ฉฐ์น ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ? (1 < L < P < V)

  3. ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
    ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , L, P, V๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.

  4. ๋ชจ๋“  ์ž…๋ ฅ ์ •์ˆ˜๋Š” int๋ฒ”์œ„์ด๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 0์ด 3๊ฐœ ์ฃผ์–ด์ง„๋‹ค.

  5. ๊ทธ๋ฆฌ๋”” ์œ ํ˜•์˜ ๋ฌธ์ œ

๐Ÿ”– ์˜ˆ์ œ ๋ฐ ์‹คํ–‰๊ฒฐ๊ณผ

์˜ˆ์ œ 1

5 8 20
5 8 17
0 0 0

์‹คํ–‰๊ฒฐ๊ณผ 1

Case 1: 14
Case 2: 11

โŒจ๏ธ ๋ฌธ์ œ ํ’€์ด

  1. ์บ ํ•‘์žฅ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์„ ๊ฝ‰ ์ฑ„์›Œ์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด V // P ๊ฐ€ ๋œ๋‹ค.

  2. (1)๋ฒˆ์—์„œ ๋งŒ์•ฝ ๋‚˜๋จธ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋‚˜๋จธ์ง€ ์ผ ์ˆ˜๋ฅผ ๋‹ค ๋”ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์งœ๋งŒํผ ๋”ํ•ด์ค˜์•ผํ•œ๋‹ค.

  3. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚จ์€ ์ผ์ˆ˜๊ฐ€ 5์ผ์ด๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ ์ด 2์ผ์ด๋ฉด 2์ผ๋งŒํผ ๋”ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ.

  4. (1) ~ (3) ๋ฒˆ์„ ์ข…ํ•ฉํ•ด ์‹์„ ์„ธ์›Œ๋ณด๋ฉด, (V // P) * L + min((V % P), L)) ์ด ๋œ๋‹ค.

๐Ÿ–ฅ ์†Œ์Šค ์ฝ”๋“œ

from sys import stdin
c = 0
while 1:
    c += 1
    l, p, v = map(int, stdin.readline().split())
    if l == p == v == 0:
        break
    print('Case {}:'.format(c), (v // p) * l + min((v % p), l))
๋ฐ˜์‘ํ˜•