숫자 블록

LJM·2023년 4월 3일
0

programmers

목록 보기
11/92

https://school.programmers.co.kr/learn/courses/30/lessons/12923?language=java

예외처리 부분
100000014
6

이 부분 때문에 엄청 헤맸다. 질문하기를 봐야했다


class Solution {
    
    static final int MAX = 10000000;
    
    public int[] solution(long begin, long end) 
    {             
        int start = (int)begin;
        int fin = (int)end;
        int[] answer = new int[fin-start+1];
   
        for(int i = start; i <= fin; ++i)
        {                
            answer[i-start] = process(i);
        }
        
        return answer;
    }
    
    public static int process(int n)
    {
        int ans = 0;
        if(n == 1)
            return ans;
                   
        ans = 1;
        
        int end = (int)Math.sqrt(n);
        for(int i = 2; i <= end; ++i)
        {
            if(n % i == 0 && n/i <= MAX)
                return n/i;
            else if(n%i == 0)
                ans = i;
        }
        
        return ans;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글