코딩테스트/PYTHON
[프로그래머스][PYTHON] Lv. 1 정수 제곱근 판별
_알파카
2024. 8. 5. 16:25
728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/12934
문제에서 주어진대로 구현하면 되는 문제이다.
내 풀이
import math
def solution(n):
answer = 0
if math.sqrt(n) == int(math.sqrt(n)):
answer = (math.sqrt(n) + 1) ** 2
else:
answer = -1
return answer
math 라이브러리를 임포트하여, sqrt 함수를 활용해 풀어보았다.
sqrt 함수는 제곱근을 구할 수 이는 함수이다.
다른 사람 풀이
def solution(n):
if int(n**0.5) == n**0.5: #제곱수 판별
return ((n**0.5)+1)**2 # 제곱근+1의 제곱수 반환
else :
return -1 #제곱수 아니면 -1반환
math 라이브러리를 이용하지 않고도 풀 수 있다.
** 연산자는 거듭제곱을 구하는 연산자인데,
n**0.5를 하면, 제곱근을 구하는 것과 동일한 효과가 발생한다.
(2**2 = 4 , 4**0.5 = 2)
728x90