문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력 값을 받았습니다.
- StringTokenizer를 통하여 띄어쓰기 기준으로 높이, 넓이, 몇 번째 손님의 숫자를 받았습니다.
- 층수를 구하기 위하여 손님의 숫자에서 높이를 나누어 나머지를 구하였습니다.
- 방의 숫자를 알기 위해 손님의 숫자에서 높이를 나누어 소수점 자리를 올림을 진행하였습니다.
- 층수와 방수를 String형태로 바꾸어서 result에 저장하였습니다.
- result를 bw에 저장하였습니다.
- BufferedWriter를 통해 저장된 결과를 출력하였습니다.
결과 코드
import java.util.*;
import java.io.*;
import java.math.*;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 값을 받는 BufferedReader
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//결과를 출력하는 BufferedWriter
int index = Integer.parseInt(br.readLine()); //반복 횟수 값
String result;
for(int i=0;i<index;i++) {
StringTokenizer st = new StringTokenizer(br.readLine()," "); //입력 값 띄어쓰기 기준 나누기
int height = Integer.parseInt(st.nextToken()); //높이
int weight = Integer.parseInt(st.nextToken()); //방 개수
int num = Integer.parseInt(st.nextToken()); //몇 번째 손님
int floor; //층수
if(num%height==0) //층수 구하는 식
floor = height;
else
floor = num%height;
int room = (int)Math.ceil((double)num/height); //방 번호 및 방 번호 구하는 식
result = String.valueOf(floor) + String.format("%02d", room); //결과 String형으로
bw.write(result + "\n"); //결과 bw에 저장
}
bw.flush(); //결과 출력
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2839번,설탕 배달 (0) | 2021.12.31 |
---|---|
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2775번,부녀회장이 될테야 (0) | 2021.12.30 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2869번, 달팽이는 올라가고 싶다. (0) | 2021.12.29 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)1193번, 분수찾기 (0) | 2021.12.29 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2292번, 벌집 (0) | 2021.12.28 |
댓글