본문 바로가기
코딩테스트

[C] 백준 10250번 - 'ACM 호텔' 풀이

by CuckooBird 2023. 1. 14.

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

 

10250번: ACM 호텔

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

www.acmicpc.net

 


코드

#include <stdio.h>

int main(void) {
	int T;
	int X, Y;

	scanf("%d", &T);

	for (int k = 0; k < T; k++) {
		int H = 0, W = 0, N = 0;

		scanf("%d %d %d", &H, &W, &N);

		Y = N % H;
		X = N / H + 1;
		if (Y == 0) {
			Y = H;
			X--;
		}

		printf("%d%02d\n", Y, X);
	}
	return 0;
}

Y = N % H 이고, X = N / H + 1 인 것을 이용하여 구한 문제입니다.

여기서 주의할 점은 Y가 0일 경우입니다.

만약 주어진 입력이 5 5 5 일 때에, 출력은 501이 나와야 하지만, Y가 0인 경우를 없앤다면 다른 값이 나올 것입니다. 나누어 떨어졌을 때에 꼭대기 층에 있을테고 이전 호수에 있을테니 그 점을 실수하지 않도록 유의하셔야 합니다.

 


후기

예전에 이 문제를 풀때 배열을 막 배워서 배열을 이용하려고 했습니다. 결과는 실패였죠.. ㅋㅋ. 지금보니까 간단한 수학 문제였네요. 문제에서 주어진 이미지는 문제 해석에 있어서 이해하는 역할만 한다는 것을 명심해야 겠습니다. ㅎㅎ