코딩테스트 회고록/코테_Java
[JAVA] 프로그래머스 - 제곱수 판별하기
iamjisu
2023. 1. 13. 00:49
프로그래머스 코딩테스트 연습 0단계 '제곱수 판별하기' 문제 입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/120909
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
❓문제 설명
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
⚠️ 제한사항
- 1 ≤ n ≤ 1,000,000
✏️ 직접 구현한 코드
class Solution {
public int solution(int n) {
int answer = 0;
int cnt = 0;
for(int i = 1; i <= n; i++) {
if(n % i == 0) {
cnt++;
}
}
if(cnt % 2 != 0) {
answer = 1;
} else {
answer = 2;
}
return answer;
}
}
🗣️ 코드 설명
제곱수의 약수는 홀수개이고, 제곱수가 아닌 수의 약수는 짝수개라는 규칙을 찾아내서
약수가 홀수개인지, 짝수개인지에 따라서 1이나 2가 리턴되도록 했다.