✔ 정수 제곱근 판별
문제 분석하기
x를 1부터 시작하여 증가시키면서 x * x의 값이 n보다 작을 때까지 양의 제곱을 만족하는 수가 있는지 확인
손으로 풀어보기
- x를 1부터 시작하여 증가시키면서 양의 제곱을 만족하는 수가 있는지 확인
- 만족할 경우 x + 1의 제곱을 반환
- 끝까지 만족하지 않을 경우 -1을 반환
슈도코드 작성하기
n(양의 정수)
x(양의 정수)
while(x의 제곱이 n보다 작을 동안) {
if(x의 제곱이 n이라면)
x + 1의 제곱 반환
x 증가
}
-1 반환
코드 구현하기
/**
* 12934) 정수_제곱근_판별
*/
public class L021_12934 {
// n(양의 정수)
public long solution(long n) {
// x(양의 정수)
long x = 1;
// x의 제곱이 n보다 작을 동안
while (x * x <= n) {
// x의 제곱이 n이라면
if (x * x == n)
// x + 1의 제곱 반환
return (x + 1) * (x + 1);
// x 증가
x++;
}
// -1 반환
return -1;
}
// 테스트 케이스
public static void main(String[] args) {
L021_12934 solution = new L021_12934();
long n = 121;
long result = solution.solution(n);
System.out.println(result);
}
}
'Coding Test > 알고리즘 실전' 카테고리의 다른 글
[12937] 짝수와 홀수 (0) | 2023.12.28 |
---|---|
[12935] 제일 작은 수 제거하기 (0) | 2023.12.27 |
[12933] 정수 내림차순으로 배치하기 (0) | 2023.12.27 |
[12932] 자연수 뒤집어 배열로 만들기 (0) | 2023.12.27 |
[12931] 자릿수 더하기 (0) | 2023.12.27 |