본문 바로가기

Job Wanted/코테 - 프로그래머스

[프로그래머스] 코딩테스트 연습 > 코딩테스트 입문 > 유한소수 판별하기

728x90
반응형

 

내가 작성한 정답 ::

 

참 오래 돌아왔다. 정말 다양한 방법으로 틀렸었는데, 전부 지워버리는 바람에 남아있는 것이 없다.

 

최대공약수를 구하는 함수를 따로 작성하기 귀찮아서 그냥 math 라이브러리에서 메서드를 가져와서, 우선 분수를 기약분수로 만들어주었다. 그리고는 분모의 인수가 2 또는 5로만 이루어져있는지를 체크하기 위해서 찾는 while 문을 작성했다. 참 쉬운 문제고 짧은 코드였지만 정말 오래 고민해야했다.

 

import math

def solution(a, b):
    answer = 0
    
    c = math.gcd(a,b)
    if c!=1:
        a = int(a/c)
        b = int(b/c)
    
    while b>1:
        if b%2==0:
            b = int(b/2)
        elif b%5==0:
            b = int(b/5)
        else:
            b = 0
            answer = 2
    
    if b == 1:
        answer = 1
    else :
        answer = 2
    
    
    return answer

 

https://school.programmers.co.kr/learn/courses/30/lessons/120878?language=python3# 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

 

 

728x90
반응형