지구정복

[수학] 백준 - ACM호텔 본문

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

[수학] 백준 - ACM호텔

nooh._.jl 2021. 7. 22. 17:48
728x90
반응형

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

 

10250번: ACM 호텔

프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수

www.acmicpc.net

 

-문제해설

그냥 입력받은 값을 수학적으로 구현했다.

층수 값을 만들고 호수 값을 더했다.

예를 들어 문제의 예시인 6 12 10인 경우

400 을 만들고 2를 만들어서 402를 출력했다.

 

먼저 층수 값을 만드는 방법은 두 가지로 나눠진다. 만약에 n%h가 0인경우와 n%h!=0인 경우로 나눠진다.

n%h==0 인 경우는 ( n-h * ((n/h)-1) ) * 100 이고

n%h!=0 인 경우는 ( n-h * (n/h) ) * 100 이다.

 

호수 값도 마찬가지로 두 가지 경우이다.

n/h

(n/h)+1

 

이 둘을 합쳐서 작성하면 아래와 같다.

( ( n-h * ((n/h)-1) ) * 100 ) + ( n/h )

( ( n-h * (n/h) ) * 100 ) + ( (n/h)+1 )

 

 

사실상 w값이 필요가 없다.. 다른 분들은 어떻게 풀었는지 참고해봐야겠다~~

 

 

추가적인 테스트케이스는 아래와 같다.

입력

3

5 100 45

95 90 20 

95 90 150

 

출력

509

2001

5502

 

 

-자바

package math;

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

public class BJ10250 {
	private static BufferedWriter bw = 
			new BufferedWriter( new OutputStreamWriter(System.out));
	private static int t, h, w, n;

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
		t = Integer.parseInt( br.readLine() );
		for( int i=0; i<t; i++ ) {
			st = new StringTokenizer( br.readLine() );
			h = Integer.parseInt( st.nextToken() );
			w = Integer.parseInt( st.nextToken() );
			n = Integer.parseInt( st.nextToken() );
			
			if( n%h==0 ) bw.write( ( ( (n-h) * ((n/h)-1) ) * 100 )+(n/h) + "\n" );
			else bw.write( ( (n-h*(n/h))*100 )+( (n/h)+1 ) + "\n" );
			bw.flush();
		}
		bw.close();
		br.close();
	}
}

 

-파이썬

t = int(input())
for _ in range( t ):
    h, w, n = map(int, input().split())
    
    if n%h==0: print( ( ( n-h * ((n//h)-1) ) * 100 ) + ( n//h ) )
    else: print( ( ( n-h * (n//h) ) * 100 ) + ( (n//h)+1 ) )
728x90
반응형
Comments