문제

기본적으로 주어진 코드 :
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