오늘의 코딩 테스트

오늘의 코딩 테스트

oceanflow 2025. 1. 27. 23:55

 

문자열 s를 숫자로 변환하는 함수, solution을 완성하세요.

class Solution {
    public int solution(String s) {
        int num = 0;
        num = Integer.valueOf(s);
        return num;
    }
}

 

Integer.valueOf(s)를 통해 10진수 문자열을 Integer 객체로 변환하였다.

 

 

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.

n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

class Solution {
    public long solution(long n) {

        double result = Math.sqrt(n);
        
        if (result % 1 == 0) {
            return (long)((result + 1) * (result + 1));      
        }
        else {
            return -1;
        } 
    }
}

 

Math.sqrt(n)로 제곱근을 구한 뒤 1로 나눈 나머지를 보아 나머지가 0이면 정수 x의 제곱이기에 x + 1의 제곱을 반환하였고

아닐경우 -1을 반환하였다.