tryhelloworld level 1 algorithm questions - 정수제곱근 판별하기
<JAVASCRIPT>
Question(출처 : http://tryhelloworld.co.kr)
nextSqaure함수는 정수 n을 매개변수로 입력받습니다.
n이 임의의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 임의의 정수 x의 제곱이 아니라면 'no'을 리턴하는 함수를 완성하세요.
예를들어 n이 121이라면 이는 정수 11의 제곱이므로 (11+1)의 제곱인 144를 리턴하고, 3이라면 'no'을 리턴하면 됩니다.
1. 실패
if -> 제곱근 값
var x=1;
if (n%x==x) {
result = "(x+1)*(x+1)";
}
else if (n%x!=x){
result = "no";
}
return result;
}
=================================================
<정답>
2. while문 사용하기 => 제곱근 값이 음수일 수 도 있으므로!!
function nextSqaure(n){
var result = 0;
//함수를 완성하세요
var x = 1;
while(x*x<=n){
if (n/x==x) {
result = (x+1)*(x+1);
}else{
result = "no";
}
x++
}
return result;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + nextSqaure(121));function nextSqaure(n){
var result = 0;
//함수를 완성하세요
var x = 1;
while(x*x<=n){
if (n/x==x) {
result = (x+1)*(x+1);
}else{
result = "no";
}
x++
}
return result;
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + nextSqaure(121));
3. 다른 사람의 풀이
function nextSqaure(n){
var result = 0;
//함수를 완성하세요
function nextSqaure(n){
//함수를 완성하세요
switch(n % Math.sqrt(n)){
case 0:
return Math.pow(Math.sqrt(n) + 1, 2);
default:
return "no"
}
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log("결과 : " + nextSqaure(121));
댓글 없음:
댓글 쓰기