728x90
class Solution {
public int solution(int n) {
int answer = 2;
for(int i=2; i<=1000; i++){
if(i*i==n) answer=1;
}
return answer;
}
}
문제에서 보면 1<=n<1,000,000 여서 n이 1,000,000일 경우에 1000를 2번 곱한거기 때문에 for문의 범위를 1000까지만 잡아도 제한시간 안에 풀 수 있다.
class Solution {
public int solution(int n) {
return (n%Math.sqrt(n)==0 ? 1:2);
}
}
아니면 Math클래스의 sqrt()메소드를 이용해서 풀이 가능하다.
반응형
'CodingTest > Programmers' 카테고리의 다른 글
| Lv.0 문자열안에 문자열 (0) | 2022.11.22 |
|---|---|
| Lv.0 옷가게 할인 받기 (0) | 2022.11.22 |
| Lv.0 순서쌍의 개수 (0) | 2022.11.22 |
| Lv.0 자릿수 더하기 (0) | 2022.11.22 |
| Lv.0 배열의 유사도 (0) | 2022.11.22 |
댓글