문제설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인 지 아닌 지 판별 하려고 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴한다.
제한사항
- n은 1 이상, 50000000000000 이하인 양의 정수입니다.
내가 푼 문제 풀이
function solution(n) {
var answer = 0;
let sqrt = Math.sqrt(n)
// Math.sqrt() : 값의 제곱근을 구하는 함수
if(Number.isInteger(sqrt)){
// Number.isInteger() : 값이 정수인 지 실수인 지 체크하는 함수
answer = Math.pow(sqrt+1, 2)
// Math.pow(대상 숫자, 거듭 제곱 횟수)
// 정수의 거듭제곱 값을 계산해주는 함수
}else{
answer = -1
}
return answer;
}
function solution(n) {
let sqrt = Math.sqrt(n)
return (Number.isInteger(sqrt)?Math.pow(sqrt+1,2):-1);
}
1) Math.sqrt(대상 숫자) : 값의 제곱근을 구하는 함수
2) Math.pow(대상 숫자, 거듭 제곱 횟수) : 정수의 거듭제곱 값을 계산 해주는 함수
3) Number.isInteger() : 값이 정수인 지 실수인 지 true, false로 반환하는 함수
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=diceworld&logNo=220198130087
자바스크립트 거듭제곱 / 제곱근 (pow / sqrt)
- 자바스크립트 pow / sqrt 란? pow 는 특정숫자의 거듭제곱 값을 계산해주는 함수이며, sqrt 는 특정숫자...
blog.naver.com
다른 사람이 푼 문제 풀이
function solution(n) {
let answer = 0;
let ans = Math.sqrt(n);
(ans%1 == 0) ? answer = Math.pow((ans+1), 2) : answer = -1;
return answer;
}
-> ans%1==0 -> 정수인 지 판별 가능
[프로그래머스] 정수 제곱근 판별 - Javascript
링크 https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의..
bsscl.tistory.com
https://programmers.co.kr/learn/courses/30/lessons/12934
코딩테스트 연습 - 정수 제곱근 판별
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함
programmers.co.kr
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
4일차 → 하샤드 수(forEach(), reduce()) (0) | 2021.11.11 |
---|---|
3일차 → 제일 작은 수 제거하기(indexOf(), splice(), filter()) (0) | 2021.11.10 |
3일차 → 서울에서 김서방 찾기(템플릿 연산자, indexOf()) (0) | 2021.11.10 |
3일차 → 수박수박수박수박수박수?(repeat()) (0) | 2021.11.10 |
3일차 → 이상한 문자 만들기(split(), map(), forEach(), splice(), toUpperCase(), toLowerCase(), join()) (0) | 2021.11.10 |
댓글