def prime(N):
prime_list = []
for i in range(2, N):
is_prime = True
for j in range(2, i):
if i%j == 0:
is_prime = False
break
if is_prime == True:
prime_list.append(i)
return prime_list
N = int(input())
prime_list = prime(N)
while N > 1:
if N%prime_list[0] == 0:
N //= prime_list[0]
print(prime_list[0])
else:
prime_list.pop(0)
N = int(input())
prime = 2
while N > 1:
if N%prime == 0:
N //= prime
print(prime)
else:
prime += 1
for i in range(2, prime):
if prime%i == 0:
prime += 1
break
위에 코드가 더 가독성 좋은데 시간 복잡도가 높음
얼마 차이 안나 보이는데 왜지
요즘 자꾸 백준에서 시간 초과로 튕긴다..
아 코딩 테스트 보고 취업하고 싶은데.. 어렵네..
https://github.com/annkwon1123/100jun.git
GitHub - annkwon1123/100jun
Contribute to annkwon1123/100jun development by creating an account on GitHub.
github.com
https://www.acmicpc.net/problem/11653
11653번: 소인수분해
첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.
www.acmicpc.net
갑자기 코테가 잡혀서 눈물을 머금고 공부하는 중 (0) | 2025.02.21 |
---|---|
1929번 소수 구하기 (0) | 2023.01.26 |