[C#] 백준 2869번 달팽이는 올라가고 싶다
2021. 12. 21. 22:12ㆍ코딩테스트 문제 풀이/[백준] 기본 수학1
728x90
반응형
정답 코드 :
using System;
namespace _4
{
internal class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
string[] inputArray = input.Split(' ');
double A = Convert.ToInt32(inputArray[0].ToString());
double B = Convert.ToInt32(inputArray[1].ToString());
double V = Convert.ToInt32(inputArray[2].ToString());
/* 5,1 6 일때 6-5인 1이라는 층이 있고 나는 한번에 5-1, 즉 4만큼 올라갈 수 있다.
반올림을 하지 않으면 1.25가 나오는데 0.25의 의미는
0.25만큼의 힘을 주고 올라갔다는 뜻. 즉, 0.25의 힘을 가지고 시도를 한거기때문에
카운트함 */
double n = Math.Ceiling((V - A) / (A - B));
Console.WriteLine(n + 1);
}
}
}
순익분기점 문제와 유사하다. 차이라면 마지막에 다시 내려올 필요가 없음을 구별해야한다. 시간제한이 더욱 빡빡하기 때문에 무조건 수식을 통해 풀어야만 한다.
마지막에 내려올 필요가 없기때문에 처음부터 빼고(V-A) 시작하면 좋다. 이 상태를 하루에 올라갈 수 있는 거리(A-B)로 나누면 된다. ((V - A) / (A - B));
올림을 꼭 해주어야한다. 만약 문제가 5 1 6이 들어오면 V-A = 5 이고 A-B는 4다. 5/4를 나누면 1.XX 소수점이 나오는데 소수점의 의미는 달팽이가 한번에 올라갈 수 있는 거리를 적은 힘으로 올라갔다는 의미이다. 즉 소수점도 시도로 봐야한다. 따라서 올림을 해야한다.
728x90
반응형
'코딩테스트 문제 풀이 > [백준] 기본 수학1' 카테고리의 다른 글
[C#] 백준 2775번 부녀회장이 될테야 (0) | 2021.12.21 |
---|---|
[C#] 백준 10250번 ACM 호텔 (0) | 2021.12.21 |
[C#] 백준 1193번 분수찾기 (0) | 2021.12.21 |
[C#] 백준 2292번 벌집 (0) | 2021.12.21 |
[C#] 백준 1712번 손익분기점 (0) | 2021.12.21 |