아이공의 AI 공부 도전기

[Baekjoon] 10250번 ACM호텔 (C++, Python)

 

     

 

 

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

 

10250번: ACM 호텔

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

www.acmicpc.net

 

H 즉, 높이에 대한 순서대로 방 배정이 진행되며 1개의 열이 끝날 때 다음 열로 이동된다.

그렇기 때문에 우리가 원하는 방향성은 나눗셈의 나머지와 몫을 이용한 방식을 사용하는 것이 옳다

다만 이 때 나머지가 0이 된다는 의미를 다시 해석할 필요가 있는데 나머지가 0이라는 뜻은 그 방은 최고 높이 H라는 값이라는 점을 인지해야한다.

 

C++

 

방법 1 - 2020KB, 4ms, 292B

 

#include <iostream>
using namespace std;
int main() {      
    int T, h, w, n, i, s, r;
    cin >> T;
    for (i=0; i<T; i++){
    	cin >> h >> w >> n;
    	r = n % h;
    	s = int(n / h);    	
    	if (r==0)
    		cout << h*100 + s << "\n";
    	else
    		cout << r*100 + s+1 << "\n";
	}
}

 

방법 2 - 2020KB, 4ms, 189B

 

#include <iostream>
using namespace std;
int main() {      
    int T, h, w, n;
    cin >> T;
    while(T--){
    	cin >> h >> w >> n;
    	cout << ((n-1)%h+1)*100 + (n-1)/h+1 << "\n";
	}
}

 

방법 3 - 1112KB, 0ms, 137B

 

#include<stdio.h>
int main(){
	int t,h,n;
	scanf("%d",&t);
	while(t--){
		scanf("%d%*d%d",&h,&n);
		printf("%d%02d ",n%h+1,--n/h+1);
	}
}

 

Python

 

방법 1

 

 

 

방법 2 - 29200KB, 84ms, 113B

 

T = int(input())
for i in range(T):
    h,w,n = map(int, input().split())
    print(((n-1)%h+1)*100 + (n-1)//h+1)

 

방법 3 - 29200KB, 68ms, 145B

 

import sys
input = sys.stdin.readline
for i in range(int(input())):
    h,w,n = map(int, input().split())
    print(((n-1)%h+1)*100 + (n-1)//h+1)

 

방법 4 - 29200KB, 72ms, 164B

 

import sys
input = sys.stdin.readline
for i in range(int(input())):
    h,w,n =map(int, sys.stdin.readline().rsplit())
    print("%d%02d" % ((n-1)%h+1, (n-1)//h+1))

 

방법 5 - 29200KB, 72ms, 282B

 

import sys

for i in range(int(input())):
    H, W, N = list(map(int, sys.stdin.readline().split()))
    
    f = N % H
    o = N // H + 1
    
    if f == 0:
        f = H
        o = N // H
    if o < 10:
        o = "0" + str(o)
    else:
        o = str(o)
    print(str(f) + o)

 

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading