반응형
사랑니를 발치하고 통증이 있어서 포스팅을 못했었다.
이제 안정을 찾고 다시 시작하려 한다.
프로그래머스 나머지가 1이 되는 수 찾기를 풀어보려고 한다.
오래된 문제라 그런지 매우 쉽다.
다른 언어 풀이는 아래 링크를 참고하면 된다.
2022.08.23 - [Coding Test/C++] - [프로그래머스] 나머지가 1이 되는 수 찾기 C++ Code
2022.08.23 - [Coding Test/Go] - [프로그래머스] 나머지가 1이 되는 수 찾기 Go Code
2022.08.23 - [Coding Test/JavaScript] - [프로그래머스] 나머지가 1이 되는 수 찾기 JavaScript Code
문제
구현
for문에서 2부터 n-1까지 돌면서 나머지가 1인지 확인하면 되는 쉬운 문제이다.
코드
def solution(n):
answer = 0
for num in range(2,n):
if num>n**0.5:
return n-1
if (n%num)==1:
return num
return
2부터 n까지 한 이유는
n이 3부터 시작하므로 2부터 검사해야 하고
n-1까지 검사해야 하기 때문이다.
여기서 효율성 테스트가 있다면 위의 "num> n**0.5"를 추가로 넣어주어야 한다.
소수 구하는 코드와 비슷한 로직인데
제곱근의 전까지 나누어지지 않았다면 그 이후는 다 나누어지지 않을 것이므로
바로 n-1을 리턴해주도록 했다.
다른 풀이
다른 풀이들처럼 전체를 다 검사하려면 다음과 같은 코드로 풀 수 있다.
def solution(n):
answer = 0
for i in range(2, n):
if n % i == 1:
return i
return
반응형
'Coding Test > Python' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 Python Code (1) | 2022.08.27 |
---|---|
[프로그래머스] 최소 직사각형 Python Code (0) | 2022.08.27 |
[프로그래머스] 2016년 Python Code (0) | 2022.08.20 |
[프로그래머스] 성격 유형 검사하기 Python Code (0) | 2022.08.19 |
[프로그래머스] 약수의 개수와 덧셈 Python Code (0) | 2022.08.17 |
댓글