본문 바로가기

Algorithm/String

(C++) - 백준(BOJ) 2562번 : ACM 호텔 답

반응형

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

 

10250번: ACM 호텔

문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은

www.acmicpc.net

int와 문자열의 형변환하는 것을 잘 처리해야되는 문제였습니다.

 

풀이방법 :

 1.호텔 방 호수 : (n-1)/h + 1 //해당 값이 10보다 적을때는 '0'붙여줘야 합니다.

 2.호텔 방 층수 : n%h //해당 값이 0이 나오면 가장 위층인 h로 층을 설정해야 합니다.

 

Code : 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
using namespace std;
 
int main(){
    int t, h, w, n;
    cin >> t;
    while(t--){
        cin >> h >> w >> n;
        //호수 : (n-1)/ h + 1
        //층수 : n % h
        string layer = "";
        string ho = "";
        if((n-1/ h + 1 < 10) ho += '0'
        ho += to_string((n-1/ h + 1);
        //가장 위층인 경우엔 나머지가 0이므로 h가 층수가 되도록 조건문 설정
        if(n % h == 0) layer += to_string(h);
        else layer += to_string(n % h);
        cout << layer+ho <<'\n';
    }
}

 

Test Case :

테케가 너무 없어서 몇 개 만들어봤습니다. 참고하세용

input :

3

6 12 59

6 12 61

6 12 54

output :

510

111

609