[백준 알고리즘] 1676번: 팩토리얼 0의 개수 (파이썬 / Python)

2022. 8. 9. 06:03·알고리즘/백준
문제

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

입력
 
첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
출력

첫째 줄에 구한 0의 개수를 출력한다.

예제 입력
10
예제 출력
2

정답 코드
import sys
import math

n = int(sys.stdin.readline())

fac = (str(math.factorial(n)))

count = 0
for i in range(len(fac)):
    if fac[len(fac)-i-1] == '0':
        count += 1
        continue
    else: break
print(count)

n의 팩토리얼을 string으로 형변환하고, 뒤에서부터 탐색하도록 하여 '0'이라면 카운트하고 continue, '0'이 아니라면 break 후 카운트를 출력한다.

 

다른 풀이 (간단한 방법)
import sys
import math

fac = (str(math.factorial(int(sys.stdin.readline()))))
print(len(fac) - len(str(int(fac[::-1]))))

 

더 간단히 풀 수 있는 코드가 생각나서 추가한다. (실행시간은 같다.)

수를 받아 팩토리얼을 구하고, string으로 형변환한다.

이 문자열을 뒤집고 int형으로 형변환하고 다시 string으로 형변환한다. (ex: 2100 -> 12 가 된다)

뒷부분의 0이 있는 부분만 제거되었으므로, 두 문자열의 길이 차이를 출력한다.

 

 


 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

저작자표시 (새창열림)

'알고리즘 > 백준' 카테고리의 다른 글

[백준 알고리즘] 11478번: 서로 다른 부분 문자열의 개수 (파이썬 / Python)  (0) 2022.08.11
[백준 알고리즘] 10816번: 숫자 카드 2 (파이썬 / Python)  (0) 2022.08.11
[백준 알고리즘] 1764번: 듣보잡 (파이썬 / Python)  (0) 2022.08.09
[백준 알고리즘] 1620번: 나는야 포켓몬 마스터 이다솜 (파이썬 / Python)  (0) 2022.08.09
[백준 알고리즘] 1269번: 대칭 차집합 (파이썬 / Python)  (0) 2022.08.09
'알고리즘/백준' 카테고리의 다른 글
  • [백준 알고리즘] 11478번: 서로 다른 부분 문자열의 개수 (파이썬 / Python)
  • [백준 알고리즘] 10816번: 숫자 카드 2 (파이썬 / Python)
  • [백준 알고리즘] 1764번: 듣보잡 (파이썬 / Python)
  • [백준 알고리즘] 1620번: 나는야 포켓몬 마스터 이다솜 (파이썬 / Python)
gyujh
gyujh
개발 공부 블로그
  • gyujh
    규
    gyujh
  • 전체
    오늘
    어제
    • 분류 전체보기 (86)
      • Backend&DB (3)
      • CS (5)
        • 컴퓨터구조 (1)
        • 소프트웨어공학 (4)
      • JavaScript (2)
      • Git (2)
      • 알고리즘 (73)
        • 개념 (3)
        • 백준 (70)
      • Projects (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    답
    시간초과
    정답
    답안
    재귀
    백준
    algorithm
    너비우선탐색
    런타임
    BOJ
    풀이
    스택
    숏코딩
    딕셔너리
    구현
    알고리즘
    정렬
    문자열
    프로그래머스
    에러
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
gyujh
[백준 알고리즘] 1676번: 팩토리얼 0의 개수 (파이썬 / Python)
상단으로

티스토리툴바