| 문제 설명 ❓
어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 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합니다.
| 풀이 🔥
⚠️ 한 번씩 읽어주세요 ⚠️
제 개인의 풀이 방법이며 틀린 풀이 방법 일수도, 더 나은 풀이법이 존재할 수도 있습니다!
전체 코드는 깃헙 링크 혹은 하단 접은 글을 펼쳐 확인가능하며, 복붙이 아닌 참고용 코드입니다
단순하게 1부터 n/2까지 수를 제곱하였을때 n과 일치하면 제곱수라고 판단하고 코드를 작성하였습니다.
[깃헙 / Github]
😻 댓글과 공감 한 번씩 감사드립니다 😻
| 전체 코드 🔎
더보기
using System;
public class Solution {
public int solution(int n) {
int answer = 0;
// CheckSquareNumber의 리턴값이 true면 1, false면 2
answer = CheckSquareNumber(n) ? 1 : 2;
return answer;
}
public bool CheckSquareNumber(int n)
{
// 1 ~ n까지 반복
for(int i = 1; i <= n/2; i++)
{
// i를 제곱했을때 n 값이 나오면 true 리턴
if(Math.Pow(i, 2) == n)
{
return true;
}
}
// 반복문 종료 = 모든 i값을 제곱해도 n과 일치 하지 않음 = 제곱수가 아님
return false;
}
}