백준 문제풀이

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

하다블 2023. 4. 26. 18:04
반응형

문제는 다음과 같습니다.

https://www.acmicpc.net/problem/2869

 

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

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

www.acmicpc.net

 

풀이 코드는 다음과 같습니다.

#include <iostream>

using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	int A,B,V;
	cin>>A>>B>>V;
	if((V-A)%(A-B)==0)
	{
		cout<<(V-A)/(A-B)+1;
	}
	else
	{
		cout<<((V-A)/(A-B))+2;
	}
}

1을 더하고 V-A로 계산하는 이유는 낮에 일어나서 A만큼 가고, 정상에 도달하면 밤이 되기 전에 끝나기 때문입니다.

즉, 밤에는 위로 올라가지 않기 때문에 고려하지 않고 하루에 올라가는 거리(A-B)로 마지막 날 낮에 올라갈 거리를 제외한 거리(V-A)로 계산하면 됩니다.

제한시간이 0.25초인 만큼, 반복문을 쓰면 바로 실패하게 됩니다. V가 1,000,000,000까지 되기 때문입니다.

반복문 없이 한 번에 계산할 수 있는 지를 체크하는 문제입니다.

반응형

'백준 문제풀이' 카테고리의 다른 글

5086 번 : 배수와 약수  (0) 2023.04.26
10757 번 : 큰 수 A+B  (0) 2023.04.26
2903 번 : 중앙 이동 알고리즘  (0) 2023.04.25
2292 번 : 벌집  (0) 2023.04.25
2720 번 : 세탁소 사장 동혁  (2) 2023.04.25