본문 바로가기
IT/알고리즘

백준2869 달팽이는 올라가고싶다(수학)

by 어센트 2020. 1. 4.

가장 처음 문제를 봤을 때 문제에서 가르쳐 준대로 반복문을 이용하여 풀었는데 자꾸 시간초과가 났다. 그래서 문제가 뭘까 하고 구글링하다가 문제점을 발견했다. 반복문을 이용하지말고 연산을 이용하여 문제를 풀어야한다고 했다. 그래서 달팽이가 정상에 도달하는 전 날까지를 a-b를 이용해 몇일 이 걸리는 지 확인하고 그 다음 날 아침이 되어 올라갔을 때 정상에  도달하는 지를 확인하며 문제를 풀었다. 그리고 Math클래스를 이용하여 올림값을 구하여 문제를 풀었다.  Math클래스의 사용법은 아래의 블로그를 참고하여 문제를 해결하였다.

 

 

 

이 블로그를 참고하여 Math클래스에 다시 복습하게되었다. https://m.blog.naver.com/PostView.nhn?blogId=rain483&logNo=220590355938&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Scanner;
 
public class 달팽이는올라가고싶다 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double a = sc.nextLong();
        double b = sc.nextLong();
        double v = sc.nextLong();    
        if(v==a) System.out.println(1);
        else {
            long day = (long) Math.ceil((v-a)/(a-b)) +1 ;
            System.out.println(day);    
        }
 
    }
 
}
cs

 

https://hyunah030.tistory.com/8

 

[BOJ] 백준 2869 - 달팽이는 올라가고 싶다

백준 2869 - 달팽이는 올라가고 싶다 달팽이는 낮에 a 미터를 올라가고, 밤에 b미터 떨어집니다. (정상을 도달하는 순간 미끄러지지 않으므로, 끝나게 됩니다.) 이런 문제는 DP를 접근하는 것과 같이 작은 문제부..

hyunah030.tistory.com

이 블로그가 이 문제에 대해 설명을 잘해놓은 것 같다.

'IT > 알고리즘' 카테고리의 다른 글

백준2775번 부녀회장이될테야  (0) 2020.01.10
백준 10250 ACM호텔  (0) 2020.01.10
백준 1193번 분수찾기(수학)  (0) 2020.01.03
백준 2292 벌집 (수학)  (0) 2020.01.03
프로그래머스 lv2 가장 큰 수  (0) 2019.11.19