알고리즘/백준
백준 10250번 ACM 호텔 / 백준 단계별로 풀어보기 7단계 / 7. 기본 수학 1
김발자~
2022. 9. 12. 17:22
반응형
백준 7단계 5번 문제 - 10250 ACM 호텔
https://www.acmicpc.net/problem/10250
10250번: ACM 호텔
프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수
www.acmicpc.net
7. 기본 수학 1
(5) 백준 10250번 문제
ACM 호텔
문제
과정 생각해보기
n이 h보다 클 때
층수(y): 순서 n을 층수h로 나누었을 때 나머지
호수(): 몫 + 1
n이 h보다 작거나 같을 때
층수: n 그대로
호수: 무조건 1
인 거 같은데.. 그럼 너비는 고려 안 하게 되는 건가 싶지만 h+w가 항상 커야 성립되는 거 아닌가 싶다
오답
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
int y = 0;
int x = 0;
String y2 = "";
String x2 = "";
for(int i = 0; i < t; i++) {
int h = sc.nextInt();
int w = sc.nextInt();
int n = sc.nextInt();
if(n > h) {
y = n % h;
y2 = Integer.toString(y);
x = (n / h) + 1;
if(x < 10) {x2 = "0" + x;} else {x2 = Integer.toString(x);}
}else {
y = n;
y2 = Integer.toString(y);
x2 = "01";
}System.out.println(y2 + x2);
}
}
}
|
cs |
답은 잘 나오는데..
이렇게 한 줄로 써야만 테스트 케이스 개수에 맞게 출력할 수 있고
6 12 10 치고 엔터치면 그냥 바로 답이 출력된다
이게 문제인 것 같은데..!!
정답 인정 코드
이 블로그를 참고했다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for(int i = 0; i < t; i++) {
int h = sc.nextInt();
int w = sc.nextInt();
int n = sc.nextInt();
if(n % h == 0) {
System.out.println((h * 100) + (n / h));
}else {
System.out.println((n % h) * 100 + (n / h) + 1);
}
}
}
}
|
cs |
100을 곱하면 굳이 문자열로 바꾸지 않아도 되었음을..
n이랑 h가 크거나 작을 떄가 문제가 아니라 나머지가 0인 때가 문제였음을..
직후 백지 복습
이해햇는지 알아보는 건 백지 복습이 최고인 것 같다
공책에 먼저 끄적이면서 해봤더니 규칙을 도출할 수 있었다
틀리긴 했지만 그래도 발견이 하나라도 있으니 발전한 것 같고, 재미도 있고 그렇다
반응형