본문 바로가기
개발 공부/알고리즘 개념+문제풀이

[프로그래머스 1단계] 정수 제곱근 판별 with javascript(정수인지판별하는법)

by 크롱이크 2021. 6. 24.

문제설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고,

n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

 

주의사항

  • n은 1이상, 50000000000000 이하인 양의 정수입니다.

입출력예시

 

코드

function solution(n) {
    let num = Math.sqrt(n);
    if(num % 1 === 0 ) return (num+1) * (num+1)
    else return -1
}

 

해석

이번 문제를 풀면서 두가지 검색을 했다. 

1. Math.sqrt() : 제곱근을 구해주는 math메소드

2. 정수인지 아닌지를 체크하는 방법 

정수를 판별하는 방법은 2가지가 있다.

1) Number.inInteger() 함수는 파라미터로 입력받은 값이 정수인지 판단한다.

  가장 간단하게, 데이터가 정수인지 판단할 수 있는 방법

2) Javascript에서 나머지 연산자(%)는 두 수를 나누었을 때 나머지 값을 구해준다.

 정수는 1로 나누었을 경우 항상 나머지가 0이 되는 속성을 이용해서 주어진 숫자가 정수인지 체크하는 방법

 

한줄평

구글 검색으로 문제를 풀었다.

어떻게 제곱근을 구할지, 어떻게 정수를 페크할지

문제를 차근차근 나눠서 생각해보자

 

링크

https://programmers.co.kr/learn/courses/30/lessons/12934

 

 

반응형

댓글