정수 제곱근 판별

장현웅·2023년 8월 29일
0

기본 코드

def solution(n):
    answer = 0
    return answer
스캐치

- x를 n의 1/2승이라고 정의
- x를 1로 나눈 값이 0이면(= 양의 정수이면) x+1의 제곱을 반환
- 아니면 -1을 반환
코드 풀이

def solution(n):
    answer = 0
    
    x = n**(1/2)
    
    if x % 1 == 0:
        answer = (x + 1)**2
    else: 
        answer = -1

    return answer

회고

처음에는 '제곱근을 어떤 식으로 표현하지?' 라고 생각하느라 한참 멍을 때렸지만 핵심은 'x를 정의해주는 것'이라는 결론이 나왔다.
n은 주어지고 x를 구해야하는데 그것을 식으로 표현해도 x가 정의되지 않으면 'NameError: name 'x' is not defined'이런 에러가 날 것이다.

0개의 댓글