[프로그래머스] n^2 배열 자르기 자바(Java)
본문 바로가기
알고리즘 풀이

[프로그래머스] n^2 배열 자르기 자바(Java)

by IYK2h 2023. 4. 4.
728x90

풀이

(1,1)(1,2)(1,3)
(2,1)(2,2)(2,3)
(3,1)(3,2)(3,3)
 

각 인덱스(y, x) 값 중 큰 값이 배열의 값

 

max(1,1)max(1,2)max(1,3) = 1 2 3
max(2,1)max(2,2)max(2,3) = 2 2 3
max(3,1)max(3,2)max(3,3) = 3 3 3

 

1차원 배열로 변환

 idx / n = y의 인덱스 값
 idx % n = x의 인덱스 값

 

코드

class Solution {

    public static int[] solution(int n, long left, long right) {

        int[] answer = new int[(int)(right - left) + 1];
        for (int i = 0; i < answer.length; i++) {
            int y = (int)(left / n + 1);
            int x = (int)(left % n + 1);
            left++;
            answer[i] = Math.max(y, x);
        }

        return answer;
    }
}
728x90

댓글