반응형
https://www.acmicpc.net/problem/1676
n = int(input())
ans = 1
for i in range(1,n+1):
ans *= i
ans = list(str(ans))
cnt = 0
while 1:
if ans[len(ans)-1] != '0':
print(cnt)
break
else:
ans.pop()
cnt += 1
이번엔 지난 번에 bfs공부를 하다가 찾았던 다른 분들의 풀이 중에서 써먹을만한게 있다 싶었던 방법을 한 번 사용해봤습니다. 해당 방법은 데이터를 하나씩 쪼개고 싶은데 공백이나 다른 구분할게 없을 때 쓸 수 있는 방법인데요. 저도 정확한 원리는 잘 모르겠으나 문자열을 list()라는 함수로 변환을 시켜주면 해당 문자열의 문자들을 순서대로 하나씩 원소로 갖는 리스트를 반환해줍니다. 알아두면 언젠간 써먹겠구나 싶었는데 문득 이 문제를 풀면서 해당 방법이 생각나서 한 번 써봤습니다.
물론 해당 방법을 굳이 쓸 필요는 없습니다. 그냥 문자열을 쓰시더라도 맨마지막 인덱스에 해당하는 문자를 지우시면 되니까요. 저는 그냥 한 번 써보고 싶어서 과정을 하나 더 거쳤을 뿐입니다. 오히려 비효율적이라고 할 수 있겠네요.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]11723번 풀이 (0) | 2022.05.29 |
---|---|
[BOJ][Python]9655번 풀이 (0) | 2022.05.29 |
[BOJ][Python]1260번 풀이 (0) | 2022.05.28 |
[BOJ][Python]2606번 풀이 (0) | 2022.05.28 |