https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
알고리즘
방 배정 우선순위
엘리베이터로부터 가까운 거리부터 배정
거리가 같은 경우 낮은 층수부터 배정
(일반 아파트 호수 매김 방법과 동일함)
1. Y (층) 구하기
int Y;
if(N % H == 0) {
Y = H * 100;
} else {
Y = (N % H) * 100;
}
2. X (거리) 구하기
int X;
if(N % H == 0) {
X = N / H;
} else {
X = (N / H) + 1;
}
정리
- H (층)
- W (한 층의 방 개수) : N이 H * W 값보다 크게 주어지지 않기에 필요 X
- N (N 번째로 오는 손님)
풀이
1. Scanner
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int T = in.nextInt(); //테스트 케이스
int Y, int X;
for(int i = 0; i < T; i++) {
int H = in.nextInt();
int W = in.nextInt(); //안 쓰는 변수, 값만 받기
int N = in.nextInt();
if(N % H == 0) {
//short ver.
System.out.println((H * 100) + (N / H));
//long ver.
Y = H * 100;
X = N / H;
System.out.println(Y + X);
} else {
//short ver.
System.out.println(((N % H) * 100) + ((N / H) + 1));
//long ver.
Y = (N % H) * 100;
X = (N / H) + 1;
System.out.println(Y + X);
}
}
}
}
2. BufferedReader
import java.util.StringTokenizer;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine()); //테스트 케이스
for (int i = 0; i < T; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int H = Integer.parseInt(st.nextToken());
st.nextToken(); //안 쓰는 변수, 값만 받기
int N = Integer.parseInt(st.nextToken());
if (N % H == 0) {
sb.append((H * 100) + (N / H)).append('\n');
} else {
sb.append(((N % H) * 100) + ((N / H) + 1)).append('\n');
}
}
System.out.print(sb);
}
}
성능
- BufferedReader > Scanner
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 2839번 : 설탕 배달 - Java (0) | 2022.03.26 |
---|---|
[백준] 2775번 : 부녀회장이 될테야 - Java (0) | 2022.03.26 |
[백준] 2869번 : 달팽이는 올라가고 싶다 - Java (0) | 2022.03.24 |
[백준] 1193번 : 분수찾기 - Java (0) | 2022.03.23 |
[백준] 2292번 : 벌집 - Java (0) | 2022.03.23 |
댓글