알고리즘/백준 알고리즘

[백준] 10250 - ACM 호텔

TIM_0529 2023. 1. 3. 06:54
반응형
#include <iostream>
#include <cstring>
#pragma warning(disable:4996)
using namespace std;


int main()
{
	int repeat,h,w,n,roomnum=0;
	cin >> repeat;
	while (repeat>0)
	{
		cin >> h >> w >> n;
		roomnum = (n % h == 0) ? h * 100 : (n % h * 100);
		roomnum += (n / h);
		
		(n % h == 0) ? roomnum : roomnum++;
		cout << roomnum<< endl;

		repeat--;
	}
}

시간 : 4ms 

삼항연산자를 사용해서 배정번호를 높이로 나눈 나머지를 통해 층 수를 구하고, 그 값에 배정번호 나누기 높이를 한 값에 몫으로 방 번호를 구했다. 만약 나머지가 0이면 층 수가 높이 값이므로 예외처리를 하고 아니라면 방 번호가 1 부터 시작하니까 최종 값에 1 을 더해줬다.

 


다른 사람에 코드

#include <stdio.h>

int main()
{
	int t;

	scanf("%d", &t);
	for (int i = 0; i < t; i++)
	{
		int h, w, n, room = 0;
		scanf("%d%d%d", &h, &w, &n);
		if (n%h == 0)
			room += h * 100 + n / h;
		else
			room += n%h * 100 + n / h + 1;
		printf("%d\n", room);
	}

	return 0;
}

언어: C++14

시간: 0ms

풀이: 삼항 대신 if 문을 사용한 것 외에는 풀이 과정이 동일하다.

반응형

'알고리즘 > 백준 알고리즘' 카테고리의 다른 글

[백준] 9498 - 시험성적  (0) 2023.01.05
[백준] 1330 - 두 수 비교하기  (0) 2023.01.04
[백준] 2869 - 달팽이는 올라가고 싶다  (2) 2023.01.02
[백준] 25083 - 새싹  (0) 2023.01.01
[백준] 10172 - 개  (0) 2023.01.01