정수 제곱근 판별
문제 링크
나의 풀이
def solution(n):
i = n ** 0.5
if i == int(i):
return int((i + 1) * (i + 1))
else:
return -1
- 고등수학을 배운지 오래되서 그런지 0.5제곱이 제곱근 이라는 개념을 잊어버려서 처음에 약간 고민하였다. n의 제곱근을 구해서 이것을 int형으로 변환시켰을때 제곱근과 같은 값인지 판별하여 답을 구하였다.
다른 사람의 풀이
def nextSqure(n):
sqrt = pow(n, 0.5)
return pow(sqrt + 1, 2) if sqrt == int(sqrt) else 'no'
- pow 의 쓰임에 대해서 알게 되었고, 위와 같이 return 에 if 문을 등을 사용하는 것에 좀 더 익숙해져야 한다. 문제에선 양의 정수 x의 제곱이 아니라면 -1을 return하라고 했는데 예전 문제에서 조금 바꼈나보다.