안녕하세요.
강렬한 스포트라이트 입니다!
하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.
<문제 설명>
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
<제한 사항>
n은 1이상, 50000000000000 이하인 양의 정수입니다.
<입출력 예>
n | return |
121 | 144 |
3 | -1 |
1) n의 제곱근을 구하고 int()형으로 변환 후 같을 경우, (n의 제곱근+1)^2를 구하도록 구현한 코드입니다.
def solution(n):
if n**(1/2)==int(n**(1/2)): #정수 확인
return (n**(1/2)+1)**2
else:
return -1
2) 상기의 코드를 math 라이브러리를 사용하여 구현한 코드입니다.
import math
def solution(n):
if math.sqrt(n)%1==0: #정수 확인
return math.pow((math.sqrt(n)+1),2)
else:
return -1
해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`
감사합니다!
반응형
SMALL
'PS > programmers' 카테고리의 다른 글
[Lv. 1] 문자열 내림차순으로 배치하기(Python) (0) | 2023.03.20 |
---|---|
[Lv. 1] 약수의 개수와 덧셈(Python) (0) | 2023.03.17 |
[Lv. 1] 부족한 금액 계산하기(Python) (0) | 2023.03.15 |
[Lv. 1] 수박수박수박수박수박수? (Python) (0) | 2023.03.14 |
[Lv. 1] 없는 숫자 더하기(Python) (0) | 2023.03.13 |