알고리즘/Python
[Python | 프로그래머스] 제곱수 판별하기
i'mMolly
2023. 4. 11. 02:59
https://school.programmers.co.kr/learn/courses/30/lessons/120909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제출 답안
def solution(n):
for i in range(1, 1001):
if i*i==n:
return 1
elif i*i>n:
return 2
return 2
개선 답안1
루트 == 0.5의 제곱
def solution(n):
return 1 if (n ** 0.5).is_integer() else 2
개선 답안2
: math.sqrt() 함수로 제곱근 씌웠다가 다시 제곱했을 시
import math
def solution(n):
return 1 if int(math.sqrt(n)) ** 2 == n else 2
참고 자료
https://school.programmers.co.kr/learn/courses/30/lessons/120909/solution_groups?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr