문제 링크
주의사항
- JAVA를 사용하여 프로그램을 사용하였습니다.
- 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{
public static void main(String[] args){
}
}
문제 설명
접근 방법
- BufferedReader를 사용하여 입력 값을 받았습니다.
- StringTokenizer를 통하여 띄어쓰기 기준으로 움직임 거리, 떨어지는 거리, 높이를 변수에 저장하였습니다.
- 마지막 날에는 달팽이가 낮에 움직이기만 함으로써 높이에서 움직이는 거리를 빼주었습니다.
- 하루에 움직이는 거리를 구하기 위해 움직이는 거리에서 떨어지는 거리를 빼주었습니다.
- 남은 거리에서 하루에 움직이는 거리를 나누어서 올림한 뒤 마지막 날을 위해 +1을 해주었습니다.
- 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
StringTokenizer st = new StringTokenizer(br.readLine()," "); //입력 값 띄어쓰기 기준 나누기
long move = Integer.parseInt(st.nextToken()); //낮 움직임 거리
long reduce = Integer.parseInt(st.nextToken()); //밤 떨어지는 거리
long height = Integer.parseInt(st.nextToken()); //높이
height -= move; //높이에서 움직임 거리 빼기
move -= reduce; //하루에 움직이는 거리 구하기
long result = (int)Math.ceil((double)height/move) + 1; //달팽이가 움직인 날 구하기
bw.write(result + "\n"); //결과 bw에 저장
bw.flush(); //결과 도출
bw.close();
br.close();
}
}
'백준' 카테고리의 다른 글
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2775번,부녀회장이 될테야 (0) | 2021.12.30 |
---|---|
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)10250번, ACM 호텔 (0) | 2021.12.30 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)1193번, 분수찾기 (0) | 2021.12.29 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)2292번, 벌집 (0) | 2021.12.28 |
[백준] 단계별로 풀어보기(단계:8,기본수학1,JAVA)1712번, 손익분기점 (0) | 2021.12.28 |
댓글