🛫 Programmers School에서 제곱수 판별하기 문제 풀이 중 정리하고 싶은 부분이 있어서 개념정리
수학의 루트와 동일한 의미를 가짐
num = Math.sqrt(25);
System.out.print(num);
// 5
위 코드와 같이 사용할 수 있음
문제는 제곱수인지 아닌지 판별하는 문제이다.
즉 25를 주고 이것이 제곱수라면 1, 아니라면 2 출력하면 된다.
나는 n이 제곱수라면 sqrt를 사용시 n.0과 같은 형식으로 나올 것, 아니면 n.111이런식으로 나오기에 double형과 int형으로 비교하여 문제를 풀었다.
class Solution {
//
// 더 간단한 풀이는 if (n % Math.sqrt(n) == 0)
public int solution(int n) {
int answer = 0;
double num = 0;
if (1<=n && n<=1000000){
num = Math.sqrt(n);
if ((int)num==num) answer = 1;
else answer = 2;
}
return answer;
}
}
if (n % Math.sqrt(n) == 0)
다른 사람의 문제 풀이 보다가 너무 간단하게 하셔서, 사실 이 코드를 기록해두려고 작성한 글이다 ㅎㅎ...
코딩할때 더 간편하게, 더 쉽게를 많이 생각해야겠다!