사진찍는 개발자📸👩‍💻

[프로그래머스/파이썬] 정수 제곱근 판별 본문

develop/Python

[프로그래머스/파이썬] 정수 제곱근 판별

hsleeee 2024. 7. 22. 14:56
반응형
SMALL

[문제]

문제 설명
	임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
	n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, 
    n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한 사항
	n은 1이상, 50000000000000 이하인 양의 정수입니다.

 

[답안]

import math

def solution(n):
    if int(math.sqrt(n)) == math.sqrt(n):
        return math.pow(math.sqrt(n) + 1, 2)
    return -1

 

[풀이]

 

math 라이브러리를 사용하고, 제곱근을 구하는 sqrt 함수와 제곱을 구하는 pow 함수를 사용했다.

 

if int(math.sqrt(n)) == math.sqrt(n): => n의 제곱근 값이 정수 형태인지 확인을 위한 조건값
        return math.pow(math.sqrt(n) + 1, 2) => 정수 형태라면 n의 제곱근 값 + 1을 하기 위하여 math.sqrt(n) + 1 을 사용하였고,

2 제곱을 구하기 위하여 math.pow(n, 2)를 사용
    return -1 => 양의 정수 형태가 아닐 경우 -1을 리턴 

 

[문제 풀어보기]

https://school.programmers.co.kr/learn/courses/30/lessons/12934

 

 

반응형
LIST