[プログラマーレベル1]整数平方根判別問題を解く
に質問
任意の正の整数nについて、nがある正の整数xの二乗であるか否かを判断しようとする.
nが正の整数xの平方である場合、x+1の平方を返し、nが正の整数xの平方でない場合、-1を返す関数を完了する.
せいげんじょうけん
🖨️ I/O例
💡 に答える
class Solution {
public long solution(long n) {
Double sqrt = Math.sqrt(n);
if(sqrt == sqrt.intValue()) {
sqrt++;
return (long)(sqrt * sqrt);
} else return -1;
}
}
✏️ comment
Math.sqrt()
Double sqrt = Math.sqrt(n);
// Double wrapper class에 있는 intValue()로 정수형 숫자로 바꿈
// 바꾸기 전 숫자와 바꾼 후 숫자가 같으면 정수
if(sqrt == sqrt.intValue())
Math.pow(a, b)
aのb次方Reference
この問題について([プログラマーレベル1]整数平方根判別問題を解く), 我々は、より多くの情報をここで見つけました https://velog.io/@yuuuzzzin/프로그래머스-Level-1-정수-제곱근-판별-문제-풀이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol