https://school.programmers.co.kr/learn/courses/30/lessons/12934
다음과 같은 흐름으로 문제를 풀었다.
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'
'Algorithm > Programmers lv.1' 카테고리의 다른 글
[프로그래머스] 약수의 합 (0) | 2024.07.05 |
---|---|
[프로그래머스] 두 정수 사이의 합 (0) | 2024.07.04 |
[프로그래머스] 정수 내림차순으로 배치하기 (feat. join함수) (0) | 2024.07.02 |
[프로그래머스] 자연수 뒤집어 배열로 만들기 (0) | 2024.07.02 |
[프로그래머스] 자릿수 더하기 (feat.자연수를 배열로 나열하는 법) (0) | 2024.07.02 |