캠핑

이윤설·2024년 3월 29일

문제 설명이 상당히 불친절하다. 내가 이상한건가?
암튼 해설을 보고도 뭔소린지 이해가 잘 안갔었다.
딱히 다시 볼만한 문제는 아닌 듯.

모범답안

class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        int caseNumber = 1; // 케이스 번호를 추적한다.

        while(true) {
            st = new StringTokenizer(br.readLine(), " ");
            int L = Integer.parseInt(st.nextToken()); // 캠핑장을 연속으로 사용할 수 있는 날짜
            int P = Integer.parseInt(st.nextToken()); // 캠핑장 사용 가능한 주기
            int V = Integer.parseInt(st.nextToken()); // 전체 휴가 기간

            if(L == 0 && P == 0 && V == 0) break; // 0 0 0 입력 시 종료

            // 전체 휴가 기간에서 사용 주기로 나눈 몫과 나머지를 계산
            int fullCycles = V / P;
            int remainingDays = V % P;

            // 나머지 날짜가 L보다 크면 L일만 사용할 수 있음
            int totalDays = fullCycles * L + Math.min(remainingDays, L);

            // 결과 출력
            System.out.printf("Case %d: %d\n", caseNumber++, totalDays);
        }
    }
}
profile
화려한 외면이 아닌 단단한 내면

0개의 댓글