[프로그래머스,Level 1] 정수 제곱근 판별(JAVA 구현)

2020. 12. 28. 19:40·CodingTest/프로그래머스(Programmers)
반응형

- 첫 풀이 및 정답풀이

  이 문제는 Math 클래스에서 제공하는 특정 정수의 제곱근을 반환하는 sqrt() 메서드와 제곱 값을 반환하는 pow() 메서드를 활용하면 간단하게 풀 수 있다.

 

class Solution {
    public long solution(long n) {
        
        // 1. n의 제곱근, 명시적 형변환 필요.
        long sqrt_n = (long)Math.sqrt(n);
       
        // 2. n이 양의 정수 sqrt_n의 제곱과 같다면, sqrt_n +1 ^ 2를 반환하고 아니면 -1을 반환.
        return (long)Math.pow(sqrt_n,2) == n ? (long)Math.pow(sqrt_n+1,2) : -1;
    }
}

  double 타입으로 반환되는 Math.sqrt()메서드의 결괏값을 제곱(^2)한 제곱 값 == n이라면, 앞서 구한 제곱근에 +1 후 제곱한 값을 반환하며 그 외는 -1을 반환한다.

(ex. 예제 2에 3의 경우는 sqrt() 결과값이 1이 나오므로 1 ^2!= 3이기 때문에 -1을 반환한다.)

저작자표시 (새창열림)
'CodingTest/프로그래머스(Programmers)' 카테고리의 다른 글
  • [프로그래머스,Level 1] 자연수 뒤집어 배열로 만들기(JAVA 구현)
  • [프로그래머스,Level 1] 정수 내림차순으로 배치하기(JAVA 구현)
  • [프로그래머스,Level 1] 제일 작은 수 제거하기(JAVA 구현)
  • [프로그래머스,Level 1] 짝수와 홀수(JAVA 구현)
뜸부깅
뜸부깅
코딩에 대한 여러 개인적인 생각을 정리하고 공부를 하는 공간입니다!!
  • 뜸부깅
    코오오딩
    뜸부깅
  • 전체
    오늘
    어제
    • Note (429)
      • Skill (31)
        • Java & Spring (9)
        • Javascript & HTML & CSS (0)
        • React (0)
        • Next.js (22)
      • CodingTest (389)
        • 백준 온라인 저지(BOJ) (140)
        • 프로그래머스(Programmers) (79)
        • LeetCode (170)
      • Algorithm & Data Structure (6)
      • [Project] 포트폴리오 (3)
        • Front end (3)
        • Back end (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준7576
    백준1260
    백준1427
    Easy
    meidum
    BOJ
    component-scan
    leetcode 2236
    프로그래머스
    next 14
    자바
    Java
    boj2108
    알고리즘
    TypeScript
    백준2751
    medium
    백준
    백준7576자바
    boj1427
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뜸부깅
[프로그래머스,Level 1] 정수 제곱근 판별(JAVA 구현)
상단으로

티스토리툴바