본문 바로가기

IT ( 백준 파이썬 , 정보처리기사 , 딥러닝 )/단계별로 풀어보기

백준 2869번 달팽이는 올라가고 싶다(파이썬,Python)

반응형

www.acmicpc.net/problem/2869

 

2869번: 달팽이는 올라가고 싶다

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

www.acmicpc.net

 

1. 문제 내용(접근 방법)

a는 낮에 올라가기 b는 밤에 내려가기 v는 최종 도달 높이이다.(이 정도는 간단하고 쉬운데??) 하지만........ 내용은 간단하다 하지만 위 코드 내용은 시간 초과로  틀린 경우였다. 나는 해결을 못해서 많은 시간을 고민을 했는데 결국 다른 사람이 한 내용을 보고 이해했다. 

시간 초과한 이유는 만약 최종 목표 높이가 1000000000000000000이라면 1씩 더하면 많은 시간이 걸리기 때문이다.

 

2. 변수 선언

올라가는 길이(a) 

내려가는 길이(b)

최종 도달 높이(v)

 

 

3. math 라이브러리(ceil)

import 하여 math를 불러와서 ceil함수를 이용해 소수를 올림 한다.

 

최종 도달 높이를 기준으로 최종 높이(v)-올라가는 길이(a)한 값과 올라가는 길이(a)-내려가는 길이(b)를 나누면

a만큼 올라간 하루를 제외한 날짜를 구할 수 있다.(1을 더해줘야 한다.)

 

반응형