[프로그래머스] 유한 소수 판별하기

해피데빙·2023년 1월 8일
0

코딩테스트

목록 보기
42/52
post-custom-banner

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120878

다른 풀이

from math import gcd
def solution(a, b):
    b //= gcd(a,b) #바로 최대공약수부터 구해서 나눈 값을 넣기
    while b%2==0:
        b//=2  #2로 나누어 떨어지면 2로 나눈 값 넣기
    while b%5==0:
        b//=5 #5로 나누어 떨어지면 5로 나눈 값 넣기
    return 1 if b==1 else 2 #다 나누어 떨어지면 1,아니면 2넣기

내 풀이

import math
def prime(num): #다른 함수로 만드는 건 비효율적 
    while num%2==0: 
        num = num/2  #파이썬은 나눠서 바로 변수에 넣는 방법이 있음 : //
    while num%5==0: 
        num = num/5 
    return num

def solution(a, b):
    answer = 0 
    gcd = math.gcd(a,b) 
    #import math가 아니라 math.gcd로 하면 바로 gcd로 사용 가능
    if prime(b/gcd)==1: 
    #나눌게 아니라 바로 넣을 수 있음 b//=gcd(a,b)
        return 1
    else: 
        return 2
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17
post-custom-banner

0개의 댓글