반응형
코드
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을 반환하는 방식으로 문제를 풀이하였습니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
파이썬 : 프로그래머스 : 최대공약수와 최소공배수 : 풀이 (0) | 2019.09.28 |
---|---|
파이썬 : 프로그래머스 : 제일 작은 수 제거하기 : 풀이 (0) | 2019.09.27 |
파이썬 : 프로그래머스 : 자연수 뒤집어 배열로 만들기 : 풀이 (0) | 2019.09.25 |
파이썬 : 프로그래머스 : 자릿수 더하기 : 풀이 (0) | 2019.09.24 |
파이썬 : 프로그래머스 : 가장 긴 팰린드롬 : 풀이 (0) | 2019.09.23 |