기본 코드
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