알고리즘/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;
}
}
반응형