프로그래머스 - 정수 제곱근 판별

박상진·2021년 11월 23일
0

프로그래머스

목록 보기
11/65

제곱근을 구하고 제곱근+1 값을 다시 제곱해주는 코드를 짜봅시다.
단, 양의 정수가 아니라면 -1을 리턴해주어야 한다.

수학을 잘 몰라서 제곱근에 대해서 검색해보았고, 제곱근을 알기 위해선 숫자에 1/2제곱을 해주면 된다는 것을 알게 되었다.이런 식이다.처음에 이렇게 했다가 '안되는데?'라고 생각했었다. 다시 생각해보면, 앞에서부터 1을 제곱해주고 2로 나눈 결과이다. (문제를 푼 후 다른 사람의 문제풀이를 보았는데, 121**(1/2)이런식으로 해주면 문제없이 제곱근이 나온다.)
그래서 생각한 코드는이었다. 결과는 예쁘게 나온다.
이제 제곱근이 양의 정수가 아닌 것을 제외해주면 된다.
처음에는 소숫점이후 0이 아닌 숫자가 있는 float에 int()를 해주면 오류가 나는 줄 알고 이런 코드를 짜봤다. 하지만 이 코드에 3을 넣으면 이렇게 무시무시한 결과가 나온다..

int()는 그냥 정수부분만을 리턴해준다.
그래서 복잡하게 진행해보았다. if문을 추가하여 제곱근 값에 ' . ' 이후로 2개 이상의 문자가 있었다면 -1을 반환하게 하였다.
결과는

profile
개발자가 되고싶당

0개의 댓글