Algorithm/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€ BOJ / Python ] 14916๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ

meeeeejin 2021. 3. 8. 20:59

๋ฌธ์ œ ๋งํฌ: www.acmicpc.net/problem/14916

 

14916๋ฒˆ: ๊ฑฐ์Šค๋ฆ„๋ˆ

์ฒซ์งธ ์ค„์— ๊ฑฐ์Šค๋ฆ„๋ˆ ์•ก์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

 

 

๋ฌธ์ œ ์„ค๋ช…

๋งŒ์•ฝ n์ด 1์ด๋‚˜ 3์ด ์ฃผ์–ด์ง„๋‹ค๋ฉด, 2์›๊ณผ 5์›์œผ๋กœ๋Š” ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

๋‚˜๋จธ์ง€๋Š” ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋™์ „์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ์ค˜์•ผ ํ•˜๋ฏ€๋กœ 5์›์„ ๋จผ์ € ๊ฑฐ์Šฌ๋Ÿฌ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. 

n์„ 5๋กœ ๋‚˜๋ˆด์„ ๋•Œ ๋‚˜๋จธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 5๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. (x: n์„ 5๋กœ ๋‚˜๋ˆˆ ๋ชซ)

  • ๋‚˜๋จธ์ง€๊ฐ€ 0์ผ ๊ฒฝ์šฐ
    5์›์œผ๋กœ๋งŒ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ answer = x
  • ๋‚˜๋จธ์ง€๊ฐ€ 1์ผ ๊ฒฝ์šฐ
    5์›์„ ํ•˜๋‚˜ ๋นผ๊ณ  2์› 3๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  =>  5x + 1 = 5(x - 1) + (2 * 3)
    ๋”ฐ๋ผ์„œ anwer = (x - 1) + 3 = x + 2
  • ๋‚˜๋จธ์ง€๊ฐ€ 2์ผ ๊ฒฝ์šฐ
    2์›์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ•ด์„œ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ answer = x + 1
  • ๋‚˜๋จธ์ง€๊ฐ€ 3์ผ ๊ฒฝ์šฐ
    5์›์„ ํ•œ ๋นผ๊ณ  2์›์„ 4๊ฐœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.  =>  5x + 3 = 5(x - 1) + (2 * 4)
    ๋”ฐ๋ผ์„œ answer = (x - 1) + 4 = x + 3
  • ๋‚˜๋จธ์ง€๊ฐ€ 4์ผ ๊ฒฝ์šฐ
    2์› ๋‘ ๊ฐœ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ answer = x + 2

 

 

 

์†Œ์Šค์ฝ”๋“œ

n = int(input())
if n == 1 or n == 3:  # ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์—†์Œ
    answer = -1
else:
    answer = n // 5
    n %= 5
    if n == 1 or n == 4:
        answer += 2
    elif n == 2:
        answer += 1
    elif n == 3:
        answer += 3

print(answer)

 

 

728x90