프로그래머스 - n^2 배열 자르기

greenTea·2023년 7월 20일
0
import java.util.*;

class Solution {
    public int[] solution(int n, long left, long right) {
       int[] answers = new int[(int) (right - left + 1)];
        int seq=0;
        for (long i = left; i <= right; i++) {
            long f1 = i/n;
            long f2 = i%n;
            
            answers[seq++] = (int) (Math.max(f1,f2)+1);
            
        }
        return answers;
    }
}

🤔처음에는 2차원 배열을 생각했으나 해당 n의 크기가 크기 때문에 패턴이 있을 것으로 생각하였습니다.

실제로 위와 같이 나눈 몫과 나머지 중에서 가장 큰 값이 해당 정답 값이 되는 것을 확인하였습니다.(1을 더해준 것은 숫자를 맞추주려고 한 것입니다.)

🥳이 후 이 값을 left, right 까지 차례대로 진행하면 해당 문제의 값이 나오게 됩니다.

출처 : 프로그래머스 스쿨 - n^2 배열 자르기

profile
greenTea입니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

좋은 글 잘 읽었습니다, 감사합니다.

답글 달기