오늘 감기기운이 더 심해져서 결국병원행..
a형독감이었다. 진짜 오늘은 죽을거 같이 아팠다.. 다행히 아프기 전에 백준 문제를 한개를 풀었다. 그후엔 거의 사경을 헤맸다.. 개인과제를 끝낼 수 있을지 걱정이다..
정수 입력값 n의 팩토리얼 값의 뒷자리가0이 아닌 다른 숫자가 나오기 전까지의 0의 갯수를 구하기! 내가 생각한 방식은
팩토리얼의 뒷자리가0이라는 뜻은 10의 갯수를 구하는 것과 같다.
10을 다시 생각하면 2의 갯수와 5의 갯수를 세면 된다. 이때 2는 5에 비해 많이 많지만, 5가 없이는 끝자리를 0으로 만들 수 없다. 따라서 2를 세는것보다 5의갯수를 세주면 된다. 팩토리얼의 5의 갯수를 구하는 방식은 n의 값보다 작은 값중에 5로 나누었을 때 나머지가 0인 갯수를 카운트 해주면 된다. 하지만 이것보다 간단한 방식은 n을 5로 나누어주면 5의 갯수가 나온다.
이후 5의 제곱인 25, 5의 세제곱인 125는 5로 나누었을때 2의 갯수가 1개가 더 남고, 2개가 더 남는다. 이때의 5의 값도 카운트를해줘야 하는데 25는 5가 2개 나오지만, 한개는 5에서 이미 카운트 됐기에 1개만 더 세주면 되고, 125는 5에서 한번, 25에서 한번 카운트 했기 때문에 1개만 더 세주면 된다. 위와 마찬가지로, 25에서 5의 갯수와 125의 5의 갯수는 25로 나누거나 125로 나누어주면 된다.
이방식이었다. 처음으로 백준 실버 5단계 정답!! 기분이 너무좋았다.. 오늘 겪을 아픔을 겪을거라곤 몰랐지ㅠ
아무튼 독감이얼른 나아야 공부도제대로 할텐데 정말..