[프로그래머스 / lv.1] 정수 제곱근 판별
in Problem Solving on Programers
날짜: 2021년 5월 20일
 소요 시간: 6분 51초
 카테고리: 수학 문제 태그: 레벨1, 파이썬
입출력 예시
| n | return | 
|---|---|
| 121 | 144 | 
| 3 | -1 | 
내가 적은 코드
def solution(n):
    if (n**(1/2))%1 == 0:
        return ((n**(1/2)) + 1)**2
    else:
        return -1
풀이 과정
제곱근을 정수 1로 나누었을 때 나머지가 0이면 정수라는 로직으로 접근했다.
베스트 코드
def nextSqure(n):
    sqrt = n ** (1/2)
    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return 'no'
반성
- 처음엔 type으로 문제를 접근 했다가 정수가 나와도 float로 출력되어 오류가 나서 시간을 많이 잡아먹었다.
- 베스트 코드와 같은 로직으로 접근한 첫 알고리즘 문제 인 것 같다.
