https://www.acmicpc.net/problem/10250
아이디어:
1. H, W 준다고 2차원 배열 생각 X. W는 아예 쓰지도 않는 숫자
2. 예제를 잘 보면 호수 앞자리는 N % H, 호수 뒷자리는 (N / H) + 1
3. 반례를 생각해보면 6 12 12가 주어졌을 때 003호가 아닌 602호가 배정되어야한다.
4. N % H = 0 인 경우와 아닌 경우를 생각한다.
5. 0인 경우 앞자리는 H, 뒷자리는 N / H
6. 0이 아닌 경우 앞자리는 N % H, 뒷자리는 (N / H) + 1
7. string의 to_string()과 stoi()를 활용해서 int 와 string간의 형변환
8. 뒷자리가 10을 넘지 않으면 중간에 0을 추가하고 10을 넘으면 그대로 출력
// 10250
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int T, H, W, N;
string first;
string end;
int result;
cin >> T;
for (int i = 0; i < T; i++) {
cin >> H >> W >> N;
if (N % H == 0) {
first = to_string(H);
end = to_string(N / H);
}
else {
first = to_string(N % H);
end = to_string((N / H) + 1);
}
if (stoi(end) < 10) {
cout << first << "0" << end << "\n";
}
else {
cout << first << end << "\n";
}
}
return 0;
}
'algorithm' 카테고리의 다른 글
백준 2920번 음계 (0) | 2024.11.03 |
---|---|
백준 2577번 숫자의 개수 (0) | 2024.11.03 |
백준 31403번 A+B-C (0) | 2024.10.27 |
백준 2475번 검증수 (0) | 2024.10.27 |
백준 15964번 이상한 기호 (0) | 2024.10.27 |