-
[백준][BOJ][JAVA]2869_달팽이는 올라가고 싶다백준 2022. 7. 28. 13:48
문제
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
예제 입력 1
2 1 5
예제 출력 1
4
예제 입력 2
5 1 6
예제 출력 2
2
예제 입력 3
100 99 1000000000
예제 출력 3
999999901
java 11로 제출하면 하는 게 많아서 무조건 시간초과가 난다고 질문에서 봤다 .
java 8로 제출 !
import java.util.Scanner; public class 백준2869 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a,b,v; int day=0; a = scan.nextInt(); b = scan.nextInt(); v = scan.nextInt(); if( a == v ){ System.out.print(1); } else{ day = ((v-a)/(a-b)+1); if((v-a)%(a-b)!=0){ System.out.println(day+1); } else System.out.println(day); } } }
아니근데 이게 시간제한이 짧다보니까 코드 길이가 짧으면 시간초과가 안나려나 ? 해서
식을보니 v-a+1하면 입력값과 출력값이 바르게 나오길래
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int a,b,v; a = scan.nextInt(); b = scan.nextInt(); v = scan.nextInt(); System.out.println(v-a+1); } }
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ이런식으로냈는데 시간초과는 안 나는데 틀렸다고 하네 ...... 반례가 있나 ....?
728x90'백준' 카테고리의 다른 글
[백준][BOJ][Python]1991_트리순회(이진트리) (1) 2022.12.01 백준(BOJ)(Python)5639_완전 검색 트리(이진트리) (0) 2022.11.30 [백준][BOJ][JAVA]2292_벌집 (0) 2022.07.27 [백준][BOJ][JAVA]1978_소수찾기 (0) 2022.07.27 [백준][BOJ][JAVA]2539_설탕배달 (0) 2022.07.27