나머지가 1이 되는 수 찾기

장현웅·2023년 8월 28일
0

기본 코드


def solution(n):
    answer = 0
    return answer
스캐치

- 빈 리스트 선언
- range(1,n+1)에서 반복문
- n보다 작고 n을 나눴을 때 나머지가 1인 값 빈 리스트에 append
- 리스트의 최솟값 반환
코드 풀이

def solution(n):
    answer = 0
    x = []
    
    for i in range(1,n+1):
        if n > i and (n%i == 1):
            x.append(i)
            answer = min(x)    
    return answer

# 리스트의 최솟값 : min(list)
다른 사람의 풀이

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

# for 반복문을 리스트로 하고 [0]값을 반환.
# for 문을 사용하면 iter를 한 두번 돌았을 때 조건이 맞으면 마칠 수 있지만 이 경우에는 리스트 전체를 다 점검하기 때문에 비효율적임.

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

# next를 쓰면 조건에 만족하는 결과가 나오면 break

0개의 댓글