알고리즘(BOJ)/Bronze

백준 - 캠핑 4796

ch.0 2023. 3. 13. 16:25


문제 분석

휴가쓴기한 : V
캠핑장 연속일: P
캠핑장 사용일: L

 

V동안 P가 최대 몇번 반복되는지 부터 파악했다. 그만큼 L을 곱하면 가능일수의 첫번째 합이 구해진다.

 

다음으로 남은 기한V의수가 L보다 작다면 남은휴가 내내 사용할 수 있다는 의미니까 V를 더해준다 

하지만 남은V보다 L이 크다면 남은휴가 동안 L만큼 쓰는게 최대니까 L을 더해준다.

 

 

 

 

 

 

전체 소스

package test;

import java.util.*;
import java.io.*;


public class Main {


    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st= new StringTokenizer(br.readLine(), " ");
        
        int L = Integer.parseInt(st.nextToken());
        int P = Integer.parseInt(st.nextToken());
        int V = Integer.parseInt(st.nextToken());
        
        int count = 1;
        while(L!=0 || P!=0 || V!=0) {
        int result = 0;
        result += (V/P) * L;
        V = V % P;
        
        if(L>=V) {
        	result += V;
        }else {
        	result += L;
        }
        
        System.out.println("Case "+count+": " + result);
        count++;
        st= new StringTokenizer(br.readLine(), " ");
        
        L = Integer.parseInt(st.nextToken());
        P = Integer.parseInt(st.nextToken());
        V = Integer.parseInt(st.nextToken());
        }

  
    }
}

 

 

 

 


https://www.acmicpc.net/problem/4796