📝 문제
> 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오.
🎨 풀이
💡 성공 코드
n = int(input())
while (n > 1):
for i in range(2,n+1):
if n % i == 0 :
n = n // i
print(i)
break
> 핵심 : while문 안에 for문 두고 계속 돌리기
# main
1. n을 입력받는다.
2. n < 1 이 되기 전까지 while문을 돌린다.
# while문
4. for문을 통해 2부터 n+1 까지 차례대로 넣어서 n을 나눠준다.
5. 만약 나눠진다면 n에 n // i 값을 넣는다.
- 만약 나눠지지않는다면 넘어감!
6. 그 후, i를 print 해준다.
7. 이 후, 즉시 for문을 처음부터 다시 시작한다. (break 사용)
끝~
⭐ 느낀점
> 좀 어렵다고 생각했는데 생각보다 빨리 잘 풀었당. 헤헤 고생했다.
'알고리즘 공부 > 백준' 카테고리의 다른 글
[백준] 2839번 - 설탕 배달 (파이썬) (0) | 2022.07.21 |
---|---|
[DAY 100_백준] 1929번 - 소수 구하기 (파이썬) (0) | 2022.06.30 |
[DAY 098_백준] 2581번 - 소수 (파이썬) (0) | 2022.06.28 |
[백준] 1978번 - 소수 찾기 (파이썬) (0) | 2022.06.26 |
[백준] 2839번 - 설탕 배달 (파이썬) (0) | 2022.06.25 |