-
[파이썬] 백준 1676번, 팩토리얼 0의 개수코딩/파이썬 2023. 4. 7. 06:22
[파이썬] 백준 1676번, 팩토리얼 0의 개수
♣문제
https://www.acmicpc.net/problem/1676
♣풀이
# 변수k는 N!(팩토리얼)이다. N = int(input()) k = 1 for i in range(1, N+1): k *= i # k를 문자열로 변환 str_k = str(k) result = 0 # 문자열의 마지막 글자([-1])부터 0인지 확인하고 0일경우 +1 for i in range(len(str_k)): if str_k[-(i+1)] == "0": result += 1 continue else: break print(result)
♣코멘트
실버 5 문제라 잔뜩 긴장했는데 생각보다는 쉬운 문제 같다.
(1) 팩토리얼을 for문을 통해(다른방식도 상관X)나타내는 것과
(2) 뒤에서부터 시작하는 것
두 가지를 유의하면 어렵지 않게 풀 수 있을 것 같다.
이 문제를 풀때는 k를 문자열로 바꾸고 뒤에서부터 시작해서 0이 나올 경우 result를 +1씩 해주고 0이 끊길경우 break로 탈출하는 방식으로 풀어냈다.
그리고 if문에서 0과 "0"을 구분하는 것이 정말 중요하다. 이것때문에 헤메지 않아도 될 시간을 낭비했다 ㅠㅠ
'코딩 > 파이썬' 카테고리의 다른 글
백준 1357번, 뒤집힌 덧셈 [파이썬] (0) 2023.05.03 파이썬을 통해 피그라틴을 만들어보자! (0) 2023.04.12 백준 1676번, ATM [파이썬] (0) 2023.04.09 [파이썬] 백준 1526번, 가장 큰 금민수 (0) 2023.04.06