[코딩테스트 연습] 정수 제곱근 판별 자바스크립트 풀이

2022. 3. 15. 19:20· 알고리즘
목차
  1. 문제 설명
  2. 제한 조건
  3. 초기 코드
  4. 코드 풀이 설명
  5. 자바스크립트 제곱근과 거듭제곱
  6. 자바스크립트 정수 판별하기
  7. 프로그래머스 코딩테스트 연습 - 정수 제곱근 판별
  8. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
반응형

문제 설명

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

제한 조건

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

초기 코드

function solution(n) {
    var answer = 0;
    return answer;
}

코드 풀이 설명

function solution(n) {
    let answer = 0;
    let num = Math.sqrt(n)
    
    // num이 정수인지를 판별하려면 정수의 성질 중 1로 나누었을 때 나머지가 0
    if (num % 1 === 0) {
        answer += Math.pow(num+1, 2)
    } else {
        return -1
    }
    return answer;
}
  • 먼저 n이 어떤수의 제곱인지를 확인하기 위해 num이라는 변수에 n의 제곱근 값을 넣어준다.
  • 그 후에 만약 n의 제곱근이 정수이면 num + 1 의 제곱만큼의 값을 더해준다.
  • 그렇지 않으면 -1을 리턴한다.

자바스크립트 제곱근과 거듭제곱

// 제곱근 구하기
Math.sqrt(대상 숫자);
Math.sqrt(121) // 11

// 거듭제곱 하기
Math.pow( 대상 숫자, 거듭제곱 횟수 );
Math.pow( 3, 2 ) // 9
  • 자바스크립트 제곱근을 구하는 함수는 Math.sqrt() 이고 거듭제곱을 하는 함수는 Math.pow() 이다.

자바스크립트 정수 판별하기

// Number.isInteger() 매소드 사용
Number.isInteger(1) // true
Number.isInteger(-144) // true
Number.isInteger(hello) // false
Number.isInteger(true) // false
Number.isInteger(0.05) // false

// 나머지 연산자 활용
number % 1 === 0
  • 자바스크립트에서 정수인지 아닌지를 판별하는 함수로는 isInteger() 매서드가 있는데 () 안에 들어있는 것에 따라 정수일 땐 true, 정수가 아닐 땐 false를 반환한다.
  • 두번째로는 나머지 연산자를 활용하는 방법이 있는데 정수는 1로 나누었을 때 나머지가 항상 0이 된다는 속성을 이용하여 주어진 숫자가 정수인지를 판별한다.

프로그래머스 코딩테스트 연습 - 정수 제곱근 판별

 

코딩테스트 연습 - 정수 제곱근 판별

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

programmers.co.kr


프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)

 

[코딩테스트 연습] 자연수 뒤집어 배열로 만들기 자바스크립트 풀이

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를 들면 n이 12345일 경우 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 초기

choijying21.tistory.com

 

[코딩테스트 연습] 정수 내림차순으로 배치하기 자바스크립트 풀이

문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조

choijying21.tistory.com

 

반응형
저작자표시 비영리 동일조건
  1. 문제 설명
  2. 제한 조건
  3. 초기 코드
  4. 코드 풀이 설명
  5. 자바스크립트 제곱근과 거듭제곱
  6. 자바스크립트 정수 판별하기
  7. 프로그래머스 코딩테스트 연습 - 정수 제곱근 판별
  8. 프로그래머스 코딩테스트 연습 - 다른 문제 풀이(자바스크립트)
'알고리즘' 카테고리의 다른 글
  • [코딩테스트 연습] 하샤드 수 자바스크립트 풀이
  • [코딩테스트 연습] 내적 자바스크립트 풀이
  • [코딩테스트 연습] 정수 내림차순으로 배치하기 자바스크립트 풀이
  • [코딩테스트 연습] 자연수 뒤집어 배열로 만들기 자바스크립트 풀이
도잎
도잎
프론트엔드 개발 성장기록
도잎
JDevelog
도잎
전체
오늘
어제
반응형
  • 분류 전체보기 (149)
    • Web dev (48)
      • React (22)
      • Vue (8)
      • Next.js (6)
      • Node.js (2)
      • Springboot (2)
    • App dev (2)
      • Flutter (2)
    • Language (33)
      • javascript (30)
      • typescript (2)
      • java (1)
    • StyleSeet (3)
      • CSS (3)
      • Sass (0)
    • Database (2)
      • PostgreSQL (1)
    • DevOps (11)
      • Webpack (4)
      • Linux (3)
      • Docker (2)
      • Tomcat (1)
    • 개발지식 (2)
      • Web (1)
    • 항해99(6기) (20)
    • UXUI (0)
    • 알고리즘 (25)
    • 유용정보 (2)

최근 글

hELLO · Designed By 정상우.v4.2.1
도잎
[코딩테스트 연습] 정수 제곱근 판별 자바스크립트 풀이
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.