본문 바로가기

코딩테스트/Python

[Python] 프로그래머스 - 나머지가 1이 되는 수 찾기

https://programmers.co.kr/learn/courses/30/lessons/87389?language=python3 

 

코딩테스트 연습 - 나머지가 1이 되는 수 찾기

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입

programmers.co.kr

 

내 코드

def solution(n):
    
    for i in range(1,n):
        if n%i==1:
            return i

1부터 하나씩 더하면서 나머지가 1이 나오는 수가 있으면 return 해준다.

 

 

 

다른사람 코드

def solution(n):
    answer = min([x for x in range(1, n+1) if n % x == 1])
    return answer

1부터 n까지 다 구하고 최솟값을 구하는 것이라서 시간이 오래걸린다. 한줄 코딩이지만 딱히 좋은 코드는 아닌 것 같다.