백준 1676

송민지·2023년 7월 8일
0

알고리즘

목록 보기
18/22

팩토리열 숫자까지는 구했는데, 0의 개수를 구하지 못해서 애먹은 문제.

찾아보니 팩토리얼을 구현하는게 아니라,0의 갯수만 구하는 문제였기에 2와 5의 배수를 새면 되는 문제였다.

그중 5를 두번 사용하는 25의 배수는 0이 2개가 발생한다
(25x4= 100, 125x4=500)
문제는 500보다 작거나 같은 수를 범위로 주었기 때문에 125까지만 해당한다.

function factorial(input) {
  return input > 0 ? input * factorial(input - 1) : 1;
 }

처음엔 이 함수안에서 지지고 볶아서 하려 했는데 잘 되지 않았다.

function Factorial(input) {
  let answer = 0
  if(input === 0) answer
  for(let i = 1; i <= input; i++){
    
    if(i % 5 === 0) answer++
    if(i % 25 === 0) answer++
  	if(i % 125 === 0) answer++
  }
  return answer
}

console.log(Factorial(input))

다른분의 풀이를 보니 이해하기가 쉬웠다.

백준1676

profile
기록하는 일상

0개의 댓글