반응형
#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 |