📝 문제
프로그래머스 - n^2 배열 자르기 (2단계)
📝 풀이
📌 작성 코드
//테스트 케이스 1번(n: 3, left: 2, right: 5)을 예로 보면
//1차원 배열로 표현하면 [1,2,3,2,2,3,3,3,3] 이다.
//이를 2차원 배열의 좌표로 표현하면
//[(0.0), (0.1), (0.2), (1.0), (1.1), (1.2), (2.0), (2.1), (2.2)] 이다.
//1차원 배열의 좌표는 [0, 1, 2, 3, 4, 5, 6, 7, 8]인데
//1차원 좌표로 2차원 좌표를 표현하면 (좌표/n, 좌표%n) 인 것을 알 수 있다
//이렇게 푼 코드가 아래의 코드이다.
class Solution {
public int[] solution(int n, long left, long right) {
int[] answer = new int[(int) (right - left + 1)];
for (int i = 0; i < answer.length; i++) {
long a = (i + left) / n ;
long b = (i + left) % n;
answer[i] = (int) Math.max(a, b) + 1;
}
return answer;
}
}
📌 결과