[JAVA 문제 풀이] 294. n^2 배열 자르기

프로그래머스 (87390)
Stupefyee's avatar
Jun 02, 2025
[JAVA 문제 풀이] 294. n^2 배열 자르기
notion image
 

내가 작성한 코드

class Solution { public int[] solution(int n, long left, long right) { // 구간의 크기 계산 (left~right까지의 원소 개수) int size = (int)(right - left + 1); // 결과를 담을 배열 생성 int[] answer = new int[size]; // left~right 구간의 각 인덱스에 대해 값 계산 for (int idx = 0; idx < size; idx++) { long pos = left + idx; // 전체 배열에서의 실제 위치 int row = (int)(pos / n); // 2차원 배열의 행 인덱스 int col = (int)(pos % n); // 2차원 배열의 열 인덱스 // 규칙에 따라 값 할당: (행, 열 중 큰 값) + 1 answer[idx] = Math.max(row, col) + 1; } // 결과 반환 return answer; } }
 

다른 사람의 코드

import java.util.stream.LongStream; class Solution { public int[] solution(int n, long left, long right) { return LongStream.rangeClosed(left, right).mapToInt(value -> (int) (Math.max(value / n, value % n) + 1)).toArray(); } }
 
Share article

stupefyee