https://programmers.co.kr/learn/courses/30/lessons/12934
[정답]
1. 1~n+1까지 반복문을 돌면서, 만약 i**2==n, 즉 i가 n의 제곱근이면 answer=(i+1)**2를 넣어준다.
( 어짜피 for문을 다 돌 경우는 별로 없으니 처음에 for문의 마지막 값을 n으로 지정하였다. 그러나 정확성 테스트에서 하나의 실패가 떴다. 문제의 제한사항을 보면, 'n은 1이상 50000000000000 이하인 양의 정수입니다.' 라고 쓰여있다. for문의 마지막 값을 n으로 지정하면, n이 1일 경우 for문은 1~0을 도는 꼴이므로 for문의 마지막 값은 n+1로 지정해준다. )
2. 만약 반복문을 돌다가 i**2>n이 되는 순간, 그 다음 루프를 돌아도 제곱근은 찾을 수 없으므로 answer=-1로 하고 break한다.
3. answer을 리턴한다.
'알고리즘 공부 > 프로그래머스 > Python3' 카테고리의 다른 글
[프로그래머스] 내적 (0) | 2020.11.25 |
---|---|
[프로그래머스] 3진법 뒤집기 (0) | 2020.11.25 |
[프로그래머스] 정수 내림차순으로 배치하기 (0) | 2020.11.24 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2020.11.24 |
[프로그래머스] 완주하지 못한 선수 (0) | 2020.11.24 |