슬기로운 연구생활

[프로그래머스] 정수 제곱근 판별 본문

슬기로운 코테 생활

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

vhrehfdl 2020. 12. 15. 16:29

* 문제

programmers.co.kr/learn/courses/30/lessons/12934

 

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

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

programmers.co.kr

 

* 문제 풀이 

- 첫째 n을 루트로 나눈다.

- 둘째, 나눈 값을 제곱해 원래 값과 같은지 체큰한다.

- 셋째, 같다면 제곱 값이고 같지 않다면 -1로 체크해 출력한다.

 

* 생각

- 이전에 0.5를 제곱해 루트를 적용하는 방법이 생각났었다.

- 역시 꾸준히 많이 풀어야 한다.

 

* 코드 

def solution(n):
    sqrt = int(n**0.5)
    
    answer = 0
    if sqrt * sqrt == n:
        sqrt += 1
        answer = sqrt*sqrt
    else:
        answer = -1

    return answer

 

Comments