문제

기본적으로 주어진 코드 :
class Solution {
public int solution(int n) {
int answer = 0;
return answer;
}
}정답
class Solution {
public int solution(int n) {
int answer = 0;
double sqrtValue = Math.sqrt(n);
if (sqrtValue == Math.floor(sqrtValue)) {
answer = 1;
} else {
answer = 2;
}
return answer;
}
}주어진 정수
n의 제곱근이 정수인지 아닌지를 판단하여, 정수이면 1, 정수가 아니면 2를 반환하는 기능을 수행합니다.int answer = 0;:- 변수
answer를 초기화합니다.
double sqrtValue = Math.sqrt(n);:- 정수
n의 제곱근을 계산하여sqrtValue변수에 저장합니다. 이때, 반환되는 값은double타입입니다.
if (sqrtValue == Math.floor(sqrtValue)) {:Math.floor(sqrtValue)는sqrtValue의 소수점을 버린 값을 반환합니다.sqrtValue와Math.floor(sqrtValue)가 같다면,sqrtValue는 소수점이 없는 정수입니다.
answer = 1;:- 제곱근이 정수일 경우,
answer를1로 설정합니다.
else { answer = 2; }:- 제곱근이 정수가 아닐 경우,
answer를2로 설정합니다.
return answer;:- 결과값인
answer를 반환합니다.
Share article