본문 바로가기

Algorithm/Programmers lv.1

[프로그래머스] 정수 제급곤 판별(feat.정수인지 아닌지 확인하는 법)

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

다음과 같은 흐름으로 문제를 풀었다.

 

1. math라이브러리를 활용하여 판별식 D를 정의 (제곱근)

2. D가 정수라면 D + 1의 제곱을 반환.

3. D가 정수가 아니라면 -1을 반환.

 

import math

def solution(n):
    D = math.sqrt(n)

    if D == int(D):
        return int((D + 1) ** 2)
    else:
        return -1

 

 

math 라이브러리를 사용하지 않고 푸는 방법도 참고하자.

 

def nextSqure(n):
    sqrt = n ** (1/2)

    if sqrt % 1 == 0:
        return (sqrt + 1) ** 2
    return 'no'