룰루코딩

SWEA D2 1945. 간단한 소인수분해 본문

SWEA

SWEA D2 1945. 간단한 소인수분해

rulru01 2024. 10. 31. 23:19

문제


솔루션

T = int(input())
for T in range(1,T+1):
    N = int(input())
    li = [2,3,5,7,11]
    result=[]
    for i in li:
        cnt=0
        while N % i ==0:
            cnt+=1
            N//=i
        result.append(cnt)
    print(f"#{T} {result[0]} {result[1]} {result[2]} {result[3]} {result[4]}")

알게된 점 

처음에는 list에 넣지않고 하나하나 if elif문으로 푸려다가

생각을 바꾸었다. 소수가 정해져있으니 list에 넣고 for문을 돌리면 좋을 것 같다 생각했다.

        while N % i ==0:
            cnt+=1
            N//=i

이부분이 포인트로 while문을 돌려서 그 소수로 몇번 나누어지는지 카운트를 세주었다. 

'SWEA' 카테고리의 다른 글

SWEA D2 1986. 지그재그 숫자  (0) 2024.11.01
SWEA D2 12221. 구구단2  (1) 2024.11.01
SWEA D3 1859. 백만 장자 프로젝트  (2) 2024.10.31
SWEA D3 10505. 소득 불균형  (0) 2024.10.30
SWEA D3 15941. 평행사변형  (0) 2024.10.30