❓문제설명
https://school.programmers.co.kr/learn/courses/30/lessons/120909
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
입출력 예
n | result |
144 | 1 |
976 | 2 |
입출력 예 #1
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
입출력 예 #2
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
🔍문제해석
어떤걸 풀어야 할까?
- 어떤 자연수를 제곱했을 때 나오는 결과가 제곱수라고 하는데, 주어진 수가 제곱수인지 구해라
- 자연수란 == 양의 정수
🧐문제풀이
- 문제 풀이 구상
Math 클래스에 제곱근을 구하는 함수가 있던걸로 기억한다.
그걸 주어진 수, n에 적용하여 나온 결과가 정수인지 확인하여 정수면 1 응답, 아니면 2를 응답하자.
- 알고리즘 선택
Math.sqrt()
: 인자의 제곱근을 구하는 메소드이다.
!제출코드
- Math.sqrt를 사용하여 n의 제곱근을 구한다.
- d를 1로 나눈 나머지가 0이라면 정수이고 아니면 정수가 아니다.
class Solution {
public int solution(int n) {
(1)
double d = Math.sqrt(n);
(2)
return (d % 1 == 0) ? 1 : 2;
}
}
728x90
반응형
'개발 공부 > 코딩테스트 연습' 카테고리의 다른 글
[프로그래머스 입문][자바] 문자열 정렬하기 (2) (0) | 2024.11.23 |
---|---|
[프로그래머스 입문][자바] 볼 던지기 (0) | 2024.11.12 |
[프로그래머스 입문][자바] 구슬을 나누는 경우의 수 (0) | 2024.10.22 |
[프로그래머스 입문][자바] 진료순서 정하기 (0) | 2024.10.20 |
[프로그래머스 Lv3][자바] 단속카메라 (0) | 2024.09.28 |