프로그래머스 js 정수 제곱근 판별

이명진·2022년 2월 3일
0

코드카타

목록 보기
8/69

정수 제곱근 판별

문제 : 값이 주어지는데 만약 그 값이 양의 정수의 제곱이라면 x+1 의 제곱을 리턴하고 아닐시에는 -1을 리턴한다

나의 풀이

몇가지 공식만 알면 쉽게 풀수 있는 문제라고 생각했다.
루트를 씌어주는 squrt 함수를 알고 있어서 쉽게 풀수 있을 거라고 생각했다.
js 에서는 Math.sqrt() 라고 써야 한다.
제곱 근은 구했는데 이게 제곱근인지 아닌지 판별을 하기 위해서는 소수점이 있는가 없는가
여부를 생각하게 되었다. 소수점을 어떻게 판별 할까 를 생각하다가
정수 인지 아닌지를 생각하게 되었고 Number.isInteger() 함수에 대해서 알게 되었다.

내가 푼 로직은 이렇다

function solution(a) {
  let squrt = Math.sqrt(a)
  let isInteger =  Number.isInteger(squrt)
  if(isInteger){
    let alpa = squrt + 1 
    return alpa *alpa
  }else {
    return -1
  }
  }

이번문제도 내장함수를 많이 쓴것 같아서 내장함수를 안쓰고 풀면 어떻게 풀까 생각을 하게 되었다
'.' 이 있는지 없는지 여부를 판별 해야 하나 생각하다가 제출하고 다른사람들의 풀이를 보게 되었다

그중에서 isInteger 함수를 사용하지 않는 분들의 코드를 보았다.
제곱 근을 구한다음에 제곱근을 뺀 결과가 0인지 아닌지 판별하는 것
이번에도 하나의 방법을 알아가게 되었다. 전혀 생각하지 못하였는데 이번에도 한수 배우게 되었다.

오늘도 문제 하나 풀고 마무리 !

profile
프론트엔드 개발자 초보에서 고수까지!

0개의 댓글