본문 바로가기
알고리즘

[백준/JAVA] 4796. 캠핑

by 상후 2021. 10. 30.
728x90
반응형

 

 

https://github.com/ROUTINE-STUDY/Algorithm

알고리즘 스터디를 진행하고 있습니다. 😊
초보들로 구성되어있으며, 열심히 풀어보고 풀이 방식을 공유하고 피드백을 해주는 스터디입니다.
참여 문의는 댓글 혹은 GitHub 주소를 참고해주세요.

문제 출처 : https://www.acmicpc.net/problem/4796

문제 설명

출처 : 백준

풀이 방법
최대 풀코스(P일)를 사용할 수 있는 몫과, 나머지 일수를 활용하였습니다.

 

내 코드(JAVA)

 

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Main {

    private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    private static final List<String> testCaseList = new ArrayList<>();

    public static void main(String[] args) throws IOException {
        inputTestCase();
        doCalc();
    }

    private static void doCalc() throws IOException {
        for(int i = 0; i<testCaseList.size(); i++) {
            String[] LPV = testCaseList.get(i).split(" ");
            int L = Integer.parseInt(LPV[0]);
            int P = Integer.parseInt(LPV[1]);
            int V = Integer.parseInt(LPV[2]);
            int resultDay = 0;

            int continueDay = V/P;
            resultDay += L * continueDay;

            int remainingDays = V - (P * continueDay); //= V%P
            resultDay += Math.min(L, remainingDays);

            bw.write("Case " + (i+1) + ": " + resultDay);
            bw.newLine();
        }
        bw.flush();
    }

    private static void inputTestCase() throws IOException {
        while(true) {
            String inputLPV = br.readLine();
            if("0 0 0".equals(inputLPV)) { break; }
            testCaseList.add(inputLPV);
        }
        br.close();
    }

}

 

 

 

 

728x90
반응형

댓글