지구정복

[수학] 백준 - 캠핑 본문

데이터 엔지니어링 정복/Algorithm

[수학] 백준 - 캠핑

eeaarrtthh 2021. 7. 9. 14:57
728x90
반응형

-문제

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

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

 

-자바

package implementation;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Camping1 {
	
	private static int l, p, v;

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int i = 1;
		while( true ) {
			StringTokenizer st = new StringTokenizer( br.readLine() );
			StringBuilder sb = new StringBuilder();
			
			l = Integer.parseInt( st.nextToken() );	//캠핑장 사용가능한 일수
			p = Integer.parseInt( st.nextToken() );	//캠핑장 연속하는 전체일수
			v = Integer.parseInt( st.nextToken() );	//휴가일수
			
			//세 개 변수 모두 0이면 프로그램종료
			if( l==0 && p==0 && v==0 ) break;
			
			int mok = v/p;
			int sum = v%p;
			
			sb.append("Case ").append(i)
				.append(": ").append( mok*l + Math.min(l, sum) );
			System.out.println( sb );
			i++;
		}//while end
		
		br.close();
	}//main method end
}//class end

 

 

-파이썬

case = 1
result = 0
while True:
    l, p, v = map( int, input().split() )
    
    if l==0:  break
    
    mok = int(v/p)
    rem = v%p
    
    result = mok*l + min(l, rem)
    
    print( "Case "+ str(case) +": "+ str(result) )
    case += 1
728x90
반응형
Comments