이 문제는 수월하게 해결할 수 있었다.
다만, 주의할 점은
1. 입력값 범위는 큰 데 주어진 시간이 짧으므로 반복문으로 해결이 안될 수 있다.
2. '정상에 도착하면 다시 미끄러지지 않는다.' 라는 문제 조건을 잘 활용해야 한다.
처음에 반복문으로 했다가 시간 초과가 나서 통과하지 못했다. 그래서 다시 수정한 코드로 통과했다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int afternoon = Integer.parseInt(st.nextToken());
int night = Integer.parseInt(st.nextToken());
int tree = Integer.parseInt(st.nextToken());
int oneDay = afternoon - night;
int start = tree - afternoon;
int days = start / oneDay;
if(start % oneDay > 0) {
days = days + 1;
}
System.out.println(days + 1);
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
백준 알고리즘 2775번 문제풀이(JAVA) (0) | 2021.09.25 |
---|---|
백준 알고리즘 10250번 문제풀이(JAVA) (0) | 2021.09.24 |
백준 알고리즘 1193번 문제풀이(JAVA) (0) | 2021.09.17 |
백준 알고리즘 2292번 문제풀이(JAVA) (0) | 2021.09.17 |
백준 알고리즘 1712번 문제풀이(JAVA) (0) | 2021.09.17 |