본문 바로가기
코딩테스트/프로그래머스

[프로그래머스/Java] LV.1 정수 제곱근 판별

by ⓞㅖ롱 2022. 9. 14.

내 코드

class Solution {
    public long solution(long n) {
        long num = (long) Math.sqrt(n);

        if(n == num*num){
            return (num+1)*(num+1);
        } else {
            return -1;
        }
    }
}

이 문제의 핵심은 sqrt() 함수였다

루트의 역할을 하는 함수로 25를 넣으면 5가 나온다

 

 pow()

double result = Math.pow(2, 4);
System.out.println(result);  //16.0
        
int resultInt = (int) Math.pow(2.5, 3);
System.out.println(resultInt);  //15

pow() 함수는 제곱근으로 곱하는 함수로 Math.pow(2, 4) 은 2의 4제곱 이라고 보면 된다 값은 16.0

Math.pow(2.5, 3) 은 2.5의 3제곱으로 값이 15가 나온다

 

 sqrt()

double a = 16;
double b = 10;

System.out.println(Math.sqrt(a)); //     4.0
System.out.println(Math.sqrt(b)); //     3.1622776601683795

sqrt() 함수는 제곱근을 나누는 함수로 루트를 씌운다고 보면 된다