정수 제곱근 판별

  • java

posted on 04 Feb 2024 under category java in series algorithm

프로그래머스 코딩테스트 Lv. 1

정수 제곱근 판별

문제 설명

임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.

제한 조건

n은 1이상, 50000000000000 이하인 양의 정수입니다.

입출력 예

n answer
123 6
987 24


입출력 예 #1
문제의 예시와 같습니다.


입출력 예 #2
9 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

정답 접기/펼치기

import java.util.*;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        while(n > 0) {
            answer += n % 10;
            n /= 10;
        }
        return answer;
    }
}

설명

나머지 연산자를 바로 떠올리면 문제를 쉽게 풀 수 있다!
혼자 또 잘못된 방향으로… 생각하고 있었고.. answer에 n % 10을 해주면 1의 자리부터 구할 수 있다.
항상 문제를 풀때마다 느끼는 것은 주어진 문제에서 필요한 핵심 구문을 바로 떠올리기..아니면 삽질의 시간만 길어진다ㅠ