[프로그래머스][파이썬] 제곱수 판별하기 - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 20일
1
post-thumbnail

◽ 문제 출처

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

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

import math

def solution(n):
    return 1 if math.sqrt(n) == int(math.sqrt(n)) else 2
  • 제곱근이 정수로 떨어진다면 해당 수를 제곱하여 n 이 된다는 뜻이니까, 제곱근과 정수 변환된 값이 같다면 1 을 반환하고, 아니라면 제곱수가 아니므로 2 를 반환했다.

◽ 다른 사람 풀이

def solution(n):
    return 1 if (n ** 0.5).is_integer() else 2
  • is_integer() 함수를 활용하여 해당 값이 정수인지를 확인했다.
  • 정수인지를 확인하는 이유는 위와 같다.

◽ 더 나아가기

  • math.sqrt() 를 통해 제곱근을 구할 수 있지만, 이는 n의 1/2 제곱 이므로 n ** 0.5 로 표현할 수 있다.
  • math.sqrt() 함수는 항상 양의 제곱근만 반환하므로, 음의 제곱근이 필요하다면 앞에 부호를 붙여서 반환받자.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글