반응형
🔺 문제
🔺 코드
📍 틀림
- 이유 : 시간 초과
더보기
반복문을 사용하면 시간 초과로 틀리는 문제라고 한다.
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
|
import java.util.*;
import java.io.*;
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(), " ");
long A = Long.parseLong(st.nextToken()); // +
long B = Long.parseLong(st.nextToken()); // -
long V = Long.parseLong(st.nextToken()); // 목표 높이
long height = 0;
long day = 0;
// 반복문 X (시간 초과)
while(true) {
height += A;
day++;
if(height >= V) {
System.out.println(day);
break;
}
height -= B;
}
}
}
|
cs |
📍 정답 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.util.*;
import java.io.*;
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(), " ");
long up = Long.parseLong(st.nextToken());
long down = Long.parseLong(st.nextToken());
long goal = Long.parseLong(st.nextToken());
long day = (goal - down) / (up - down);
// 🔔 잔여 블럭이 있는 경우, 하루 더 소요됨 🔔
if((goal - down) % (up - down) != 0) {
day++;
}
System.out.println(day);
}
}
|
cs |
✅ 해결 아이디어
✔ 수학....🤦♀️🤦♀️
📍 걸리는 날 수 = 올라가야 할 높이 / 하루 동안 올라간 높이
- 올라가야 할 높이 = 목표 높이 - 미끄러진 길이
- 하루 동안 올라간 높이 = 올라간 길이 - 미끄러진 길이
📍 Line 16,17 : up-down의 차이 값보다 작은 나머지가 존재한다면, 다음 날 up 때 올라가야하므로 + 1
💥 유의사항
• 정점에 도달하지 않으면 미끄러지지 않는다.
⇨ 잔여블록이 있는 경우, 문제 발생 💦
⇨ up-down의 차이 값보다 작은 나머지가 존재한다면, 다음날 up 때 올라가야 함. ⬆
🔺 다른 풀이들
- 줄글로 설명 진짜 잘하시는 거 같다... 👍👍👍 (복습용)
💬 느낀 점
브론즈인데.. 왜 정답률이 낮을꼬.. 하니
반복문 썼다가 시간초과가 개빡세서 틀린 ... 이런 이유가..🤦♀️💦
1회독 | 2회독 | 3회독 | 4회독 | 5회독 |
V |
(참고)
✔ 최고의 풀이와 설명.. 복습용으로 봐야디...
- 주석 참고...
반응형
'코테 > 백준' 카테고리의 다른 글
[백준/JAVA] 2231번: 분해합 (0) | 2023.06.30 |
---|---|
[백준/JAVA] 1676번: 팩토리얼 0의 개수 (0) | 2023.06.29 |
[백준/JAVA] 1654번: 랜선 자르기 (0) | 2023.06.29 |
[백준/JAVA] 11866번: 요세푸스 문제 0 (0) | 2023.06.28 |
[백준/JAVA] 10845번: 큐 (0) | 2023.06.28 |