https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
풀이 과정
n을 입력받고 n이 x의 제곱수면 (x+1)^2, 아니면 -1을 리턴하는 문제이다.
n ** (1/2)로 x를 구하고 x가 양의 정수인지를 판단해주면 된다.
int(x) == x이면 양의 정수고 아니면 양의 정수가 아니라고 판단할 수 있다.
1로의 나머지 연산을 통해 x % 1 == 0이면 양의 정수, 아니면 양의 정수가 아니라고 판단할 수도 있다.
소스 코드
def solution(n):
x = n ** (1/2)
if x == int(x):
answer = (x+1) ** 2
else:
answer = -1
return answer
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 문자열 압축 [파이썬] (0) | 2022.07.01 |
---|---|
프로그래머스 - 제일 작은 수 제거하기 [파이썬] (0) | 2022.06.28 |
프로그래머스 - 네트워크 [파이썬] (0) | 2022.06.27 |
프로그래머스 - 타겟 넘버 [파이썬] (0) | 2022.06.27 |
프로그래머스 - 이상한 문자 만들기 [파이썬] (0) | 2022.06.26 |