본문 바로가기
CodingTest/Programmers

Lv.0 제곱수 판별하기 *

by yoondoo 2022. 11. 22.
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

댓글