코딩테스트/프로그래머스

[프로그래머스] [Level 1] 정수 제곱근 판별

박소민 2022. 2. 16. 15:53
문제) 정수 제곱근 판별
 

코딩테스트 연습 - 정수 제곱근 판별

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함

programmers.co.kr

 

  • 내 풀이

- 제곱근 값이 int한 값과 동일한지 비교해서 정수인지 판별

- 제곱으로 제곱근 구하기

def solution(n):
    sqrt=n**(1/2)
    return (sqrt+1)**2 if sqrt==int(sqrt) else -1

 

- 제곱근 함수 사용: math.sqrt(n)

import math 
def solution(n):
    n= math.sqrt(n)
    return (n+1)**2 if n==int(n) else -1

 

  • 다른 사람 풀이
    • 정수 판별 방법
    • n==int(n)
    • n %1==0 
    • n.is_integer()
import math 
def solution(n):
    n= math.sqrt(n)
    return (n+1)**2 if n.is_integer() else -1