[Programmers / Level 2] 87390. n^2 배열 자르기 (Java)

이하얀·2025년 2월 23일
0

🕊️ 프로그래머스

목록 보기
98/115

💡 Info




입출력 조건




입출력 예시


  • 입출력 예 #1

  • 입출력 예 #2



문제 이해


  • 2차원 배열을 만들고 구현하는 형태는 시간 초과 -> 1차원 배열로 해결해야 하는 문제


알고리즘


풀이 시간 : 17분

  • n x n 배열에서 (i, j) 위치의 값은 max(i, j) + 1임
  • left부터 right까지 1차원 배열로 변환된 인덱스를 활용해 직접 값 계산
public class Solution {
    public int[] solution(int n, long left, long right) {
        int len = (int) (right - left + 1);
        int[] answer = new int[len];

        for (int i = 0; i < len; i++) {
            long index = left + i;
            int row = (int) (index / n);
            int col = (int) (index % n);
            answer[i] = Math.max(row, col) + 1;
        }

        return answer;
    }
}


결과

profile
언젠가 내 코드로 세상에 기여할 수 있도록, Data Science&BE 개발 기록 노트☘️

0개의 댓글