https://programmers.co.kr/learn/courses/30/lessons/87389
코딩테스트 연습 - 나머지가 1이 되는 수 찾기
자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입
programmers.co.kr
풀이 과정
n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 구하시오
1. n을 2부터 n-1까지 나눠보면서 나머지가 1이 될 때의 값을 출력해주면 된다.
2. n-1의 약수중 가장 작은 값을 출력해주면 된다. n-1이 소수이면 n-1을 출력해야 한다.
문제를 읽고 위의 2가지 방법이 떠올랐고 2번째 방법으로 문제를 해결하였다. 어떤 수 n의 약수를 구하려면 n을 2부터 rootn까지 나눠보고 나누어 떨어지면 약수라고 판정하면 된다.
소스 코드
def solution(n):
n -= 1
answer = n
for i in range(2, int(n**(1/2)) + 2):
if n % i == 0:
answer = i
break;
return answer
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - [1차] 비밀지도 [파이썬] (0) | 2022.06.15 |
---|---|
프로그래머스 - 부족한 금액 계산하기 [파이썬] (0) | 2022.06.15 |
프로그래머스 - 최소직사각형 [파이썬] (0) | 2022.06.15 |
프로그래머스 - 2016년 [파이썬] (0) | 2022.06.15 |
프로그래머스 - 두 개 뽑아서 더하기 [파이썬] (0) | 2022.05.26 |