본문 바로가기

Python 연습문제

[고민문제]정수 제곱근 판별 : 있는걸 활용하자

 

 

이런 문제인데 파이썬에서는 제곱은은 **(0.5) 를 활용하면 된다는 사실을 배웠다.

 

근데 이걸 알고도 내가 무슨짓을 했냐면

 

def solution(n):
    answer = 0
    for i in range(1,int(50000000000000**(1/2))):
        if i==n**(0.5):
            answer=(i+1)*(i+1)
        else:
            answer=-1
    return answer

 

for문을 돌려서 1부터 차례대로 답을 대조하고 찾으려는 시간이 엄청 오래 걸리면서 답도 안나오는 코드를 짜고 있었네

 

말그대로 제곱근을 구하라고 했으니까 제곱근이 맞는지 확인하면 되는거 아니냐

 

def solution(n):
    answer = 0
    n=n**(0.5)
    if n%1==0:
        answer=(n+1)**2
    else:
        answer=-1
    return answer

 

제곱근을 구해서 소수점이 안나오면 그게 제곱되는거니까 %0을 활용한건데

 

아 이게 공부하면 할수록 쉬운길을 자꾸 돌아가려는 경향이 있네 아쉽다.

 

화이팅 하자.