반응형
[ 문제 ]
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
[ 코드 ]
string[] s = Console.ReadLine().Split();
int A = int.Parse(s[0]);
int B = int.Parse(s[1]);
int V = int.Parse(s[2]);
int days = (V - B - 1) / (A - B) + 1;
Console.Write(days);
[ 코드 ] - 시간초과코드
string[] s = Console.ReadLine().Split();
int A = int.Parse(s[0]);
int B = int.Parse(s[1]);
int V = int.Parse(s[2]);
int sum = 0;
int count = 0;
if(A >= V)
{
Console.Write("1");
}
else
{
while(V > A)
{
sum += A;
if (sum >= V)
{
count++;
break;
}
sum -= B;
count++;
if (sum >= V)
{
break;
}
}
Console.Write(count);
}
- 달팽이의 이동 횟수에 따라 루프를 반복해서 시간초과가 났다. 맞는 값을 도출해내긴 하지만 횟수마다 계속 루프를 돌아서 시간초과가 난당... ^ㅠ^... 앞으로 생각을 하고 코드를 짜자.
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/2869
2869번: 달팽이는 올라가고 싶다
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 2501번 약수 구하기 (0) | 2024.02.10 |
---|---|
[C#] 백준 5086번 배수와 약수 (0) | 2024.02.10 |
[C#] 백준 2292번 벌집 (0) | 2024.02.09 |
[C#] 백준 1010번 다리 놓기 (0) | 2024.02.08 |
[C#] 백준 2903번 중앙 이동 알고리즘 (0) | 2024.02.08 |