728x90
반응형
출처: 프로그래머스 코딩 테스트 연습 문제
문제 설명:
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항
- n은 1이상, 50000000000000 이하인 양의 정수입니다
import math
def solution(n):
answer = 0
sqrt_value = math.sqrt(n)
answer = int(pow(sqrt_value+1,2)) if sqrt_value % 1 ==0 else -1
return answer
print(solution(121))
print(solution(3))
다른 사람 풀이:
sqrt = 121 ** (1/2)
sqrt
정수인지 아닌지 를
if sqrt_value % 1 ==0 포 판단
0.5를 생각 을 했는데 아래 와 같이 작성하면 된다는 것을 잊어버려서 남의 풀이를 보고 확인 하게 되였다.
제곱근 :
sqrt = pow(n, 0.5)
sqrt
def solution(n):
answer = 0
sqrt_value = pow(n,0.5)
answer = int(pow(sqrt_value+1,2)) if sqrt_value % 1 ==0 else -1
return answer
print(solution(121))
print(solution(3))
https://programmers.co.kr/learn/courses/30/lessons/12934
반응형
'문제 > 프로그래머스' 카테고리의 다른 글
이상한 문자 만들기 (0) | 2021.08.14 |
---|---|
자릿수 더하기 (0) | 2021.08.13 |
자연수 뒤집어 배열로 만들기 (0) | 2021.08.11 |
정수 내림차순으로 배치하기 (0) | 2021.08.09 |
프로그래머스 LEVEL1 -1 python (0) | 2021.05.13 |