문제) 정수 제곱근 판별
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
- 내 풀이
- 제곱근 값이 int한 값과 동일한지 비교해서 정수인지 판별
- 제곱으로 제곱근 구하기
def solution(n):
sqrt=n**(1/2)
return (sqrt+1)**2 if sqrt==int(sqrt) else -1
- 제곱근 함수 사용: math.sqrt(n)
import math
def solution(n):
n= math.sqrt(n)
return (n+1)**2 if n==int(n) else -1
- 다른 사람 풀이
- 정수 판별 방법
- n==int(n)
- n %1==0
- n.is_integer()
import math
def solution(n):
n= math.sqrt(n)
return (n+1)**2 if n.is_integer() else -1'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2022.02.19 |
|---|---|
| [프로그래머스] [Level 1] 정수 내림차순으로 배치하기 (0) | 2022.02.16 |
| [프로그래머스] [Level 1] 제일 작은 수 제거하기 (0) | 2022.02.16 |
| [프로그래머스] [Level 1] 짝수와 홀수 (0) | 2022.02.16 |
| [프로그래머스] [Level 1] 최대공약수와 최소공배수 (0) | 2022.02.07 |