코딩하는 개굴이

BaekJoon/BOJ [JAVA] ACM호텔_10250 본문

알고리즘/Baekjoon

BaekJoon/BOJ [JAVA] ACM호텔_10250

개굴이모자 2019. 2. 2. 21:00
반응형

BaekJoon/BOJ [JAVA] ACM호텔_10250

HINT: 방번호는 간단하게, 앞자리는 n에서 h를 나눈 나머지가 되고, 뒷자리는 이들의 몫에 1을 더한 값이 되는 것을 알 수 있다. 그러나 이렇게 했을때 생기는 문제점은 2가지이다. 첫째로 뒷자리가 한자리 수일 때와 두자리 수일 때가 이것이다. 이 때문에 roomnumber를 string으로 하여서 0을 붙인 상태(나머지가 한자리수)와 안붙인 상태(나머지가 두자리수)를 구분하여 붙여 주었다. 둘째는 n에서 h가 나누어 떨어지는 경우이다. 이때는 위의 공식이 적용되지 않는것을 알 수 있다. 이때는 앞자리가 h가 되고 뒷자리가 n/h를 한 몫이 되므로 이것을 고려하여 코딩을 한 것이 아래와 같다.


import java.util.Scanner;
public class baekjoon_10250 {
    public static void main(String[] argc) {
        Scanner scanner = new Scanner(System.in);
        int iter = Integer.parseInt(scanner.nextLine());
        for(int i=0;i<iter;i++) {
            int h = scanner.nextInt();
            int w = scanner.nextInt();
            int n = scanner.nextInt();
            System.out.println(roomNumber(h, w, n));
        }
    }
    public static String roomNumber(int h, int w, int n) {
        String roomnumber="";
        int front, back;
        if(n%h != 0){
            front = n%h;
            back = n/h + 1;
        }
        else {
            back = n/h;
            front = h;
        }
        if(back<10) {
            roomnumber = front+"0"+back;
        }
        else {
            roomnumber = front+""+back;
        }
        return roomnumber;
    }
}



반응형
Comments