노력에는 지름길이 없으니까요

정수 제곱근 판별 - %1로 구하는 빠른 정수 판별 방법 본문

Python/프로그래머스

정수 제곱근 판별 - %1로 구하는 빠른 정수 판별 방법

데건 2024. 6. 24. 08:36
728x90

 

해결일 언어 레벨 테스트명
20240624 Python level 0  정수 제곱근 판별

 

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12934

 

 

 


 

내 코드

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

 

 

 

개선점:

패키.

 

 

 

 

 

 

 

제곱근을 쉽게 구하려고 했는데, math 패키지를 쓰든 수식을 쓰든 결과가 int로 나오지 않고 float형으로 나온다.

isinstance를 써보려고 했는데 안됐다는 소리.

 

 

 

베스트 코드

def nextSqure(n):
    sqrt = n ** (1/2)

    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return 'no'

 

 

sqrt%1 로 정수 판별을 할 수 있다는 걸 깨달음!

 

728x90
반응형