제곱수 판별하기

문제

 


나의 생각

 

for문으로 1 부터 n 까지의 숫자를 곱해서 0이 나오면 answer 값이 1리 되도록 지정하는 방식으로 접근. 

 


나의 답안

 

public static int solution(int n) {
    int answer = 2;

    for (int i = 1 ; i <= n ; i++){
        if (i * i == n){
            answer = 1;
        }
    }

    return answer;
}

다른 답안

 

Math.sqrt 로 제곱근을 구하고 그 값으로 n을 나누어 0 일때 1 이나오도록 한 방식이다. 

 

class Solution {
    public int solution(int n) {
        if (n % Math.sqrt(n) == 0) {
            return 1;
        } else {
            return 2;
        }
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

세균 증식  (0) 2023.02.26
개미 군단  (0) 2023.02.26
모음 제거  (0) 2023.02.26
문자열안에 문자열  (0) 2023.02.26
숨어있는 숫자의 덧셈 (1)  (0) 2023.02.26