SW/알고리즘

파이썬 : 프로그래머스 : 정수 제곱근 판별 : 풀이

얇은생각 2019. 9. 26. 07:30
반응형

코드

import math

def solution(n):
    answer = math.pow(math.pow(n, 0.5) + 1, 2)
    
    if answer - int(answer) == 0:
        return int(answer)
    else:
        return -1

 

 

 

실행 결과

정확성 테스트

테스트 1 통과 (0.06ms, 10.8MB)
테스트 2 통과 (0.07ms, 10.8MB)
테스트 3 통과 (0.06ms, 10.7MB)
테스트 4 통과 (0.06ms, 10.8MB)
테스트 5 통과 (0.05ms, 10.8MB)
테스트 6 통과 (0.06ms, 10.7MB)
테스트 7 통과 (0.06ms, 10.8MB)
테스트 8 통과 (0.06ms, 10.8MB)
테스트 9 통과 (0.05ms, 10.8MB)
테스트 10 통과 (0.05ms, 10.8MB)
테스트 11 통과 (0.78ms, 10.6MB)
테스트 12 통과 (0.97ms, 10.8MB)
테스트 13 통과 (0.05ms, 10.8MB)
테스트 14 통과 (0.06ms, 10.8MB)
테스트 15 통과 (0.05ms, 10.8MB)
테스트 16 통과 (0.08ms, 10.8MB)
테스트 17 통과 (0.06ms, 10.8MB)
테스트 18 통과 (0.07ms, 10.8MB)

채점 결과

정확성: 100.0

합계: 100.0 / 100.0

 

 

 

총평

우선 math 모듈을 임포트합니다. math 모듈을 활용하면 쉽게 제곱 연산을 진행할 수 있습니다. 관련 모듈은 레퍼런스 문서를 확인해주세요. 제곱근을 구해야 하므로, 1/2의 값을 넣어주고 1을 더해줍니다. 그 다음 그 값을 다시 제곱합니다. 해당 값을 int 형으로 변환하고 그 값을 뺴줍니다. 만약 그 값이 0인 경우에는 양의 정수의 제곱이기 때문에 0인 경우에는 해당 값을 int형으로 반환해줍니다. 그 이외에는 정수형 제곱이 아니기 때문에 -1을 반환하는 방식으로 문제를 풀이하였습니다.

반응형