알고리즘/Programmers
[프로그래머스] Java Level 1. 정수 제곱근 판별
개발자 정지은
2023. 5. 25. 12:37

풀이법
n이 양의 정수 x의 제곱인지 아닌지 판별하여 제곱이라면 x+1의 제곱을 반환한다.
제곱인지 아닌지 찾기 위해서 for문을 돌려서 판별해 보았지만 테스트 케이스에서 틀린 것이 있었다.
풀이법을 고민하다가 sqrt 와 pow 를 사용하여 문제를 풀면 쉽게 풀린다는 것을 알게 되었다.
정답 코드
class Solution {
public long solution(long n) {
//sqrt를 사용하여 제곱근으로 바꾸고
//pow로 제곱을 했을 때 n이면 n+1의 제곱 리턴
if(Math.pow((int)Math.sqrt(n), 2) == n) {
return (long)Math.pow(Math.sqrt(n)+1, 2);
}
return -1;
}
}
sqrt와 pow를 적절하게 사용하면 쉽게 풀리는 문제였다.
Math 메소드 익히기 괜찮은 문제같다.