-
10872. 팩토리얼SW 정글/알고리즘 2024. 8. 11. 13:39
풀이
import sys #팩토리얼 n = int(input()) a = 1 for i in range(n): a *= n-i if n-i == 1: break print(a) # 10 입력하면 100부터 20까지 출력 # n = int(input()) # for i in range(n): # a = n*(n-i) # if n-i == 1: # break # print(a)
설명
밑에 주석은 일단 넘어가자(참고용이자 처음에 반대로 생각했던 코드)a를 n아래에 1로 할당했어야 했는데 놓친 부분이 있었다.
하지만 앞에 골드바흐에서 break문을 쓰고 익혔던 걸 사용하니 원하는 길이 내에서 끝났다.
또다른 풀이
i=1 for a in range(int(input())): i=i*(a+1) print(i)def
설명
하지만 이렇게 +1을 해나가는 방식으로 하면 더 간결하게 쓸 수 있다.
굳이 break문을 쓸 필요가 없지요..
input을 바로 range안에서 받아도 더 짧아지는데 아직은 앞에서 한 번 정하고 내려가는 방식이 더 눈에 잘 들어온다.
'SW 정글 > 알고리즘' 카테고리의 다른 글
[math] 7. Reverse Integer (0) 2024.10.23 [math] 9. Palindrome-number (0) 2024.10.23 [hash] 1. two-sum (0) 2024.10.23 1655. 가운데를 말해요 (우선순위 큐) (0) 2024.08.19 9020. 골드바흐의 추측 (0) 2024.08.10