[BOJ]백준#4796 Silver 5 캠핑 🏕⛺ (Python, 파이썬)

임준성·2022년 5월 25일
0

백준 Algorithm

목록 보기
14/59
post-thumbnail

백준 4796번
https://www.acmicpc.net/problem/4796


문제



후기

⏰ 풀이시간 10분 ++⏰

가벼운 구현 및 그리디 알고리즘 문제다.

V일짜리 휴가를 우선 연속하는 P 일로 나눈다.

결과값에 (k*L) 을 더해주는 것은 공통적인 일이고,

V를 P로 나눈 나머지가 rest보다 클 때와, 작을 때의 경우에 대해

값을 다르게 처리해주기만 하면 되는 문제다.

나의 풀이

import sys

input = sys.stdin.readline

case = 1

while True:
    
    L , P, V = map(int,input().split())

    result = 0

    if L==0 and P==0 and V==0:  #0 , 0, 0 이면 종료 

        break

    
    k = V // P  
    rest = V % P

    if rest > L: #만약 V를 P로 나눈 나머지가 rest보다 클 때는 L을 한번 더 더해야한다. 

        result += (k*L) + L
    
    else: 
        result += k*L  + (V-(P*k))


    print("Case {}: {}".format(case, result))

    case +=1
profile
아무띵크 있이

0개의 댓글