본문 바로가기
PYTHON

파이썬 프로그래머스 오답노트 코딩테스트 입문 제곱수 판별하기: is_intiger()

by jnhn 2023. 5. 4.
문제: 제곱수 판별하기

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

정답:

def solution(n):
    if (n**(0.5)).is_integer():
        return 1
    else:
        return 2

설명: is_integer()함수를 새롭게 알았는데 float형에서 정수로 표현될 수 있는 지 판단하는 메소드이다.

애초에 int인 변수는 판단할 수 없고, 실수형 float가 들어갔을때 True인지, False인지 판단할 수 있다.

 

정답2) Carrotww , 김예진 , 나똥 , 최상 외 3 명

def solution(n):
    for i in range(1, n):
        if n == i*i:
            return 1
    return 2

설명: is_integer()없이 코드를 쓴다면 이게 가장 심플할듯

정답3) Sehyeon Jeong , ovi6626 , 김병민 , 이주현 외 14 명

import math

def solution(n):
    return 1 if int(math.sqrt(n)) ** 2 == n else 2

설명: 와 sqrt 까먹었당 역시 이렇게 까먹은 거 기억해내려고하는게 바로 코테 입문이지~ 좌절금지~노낙담 킵고잉 ㅇㅇ