[Kotlin/프로그래머스] 코딩테스트 연습 > 연습문제 > n^2 배열 자르기

👀 문제

https://school.programmers.co.kr/learn/courses/30/lessons/87390

👊 도전

1. 설계

  1. 문제 설명대로 구현

2. 구현

1
2
3
4
5
6
7
8
9
10
11
class Solution {
fun solution(n: Int, left: Long, right: Long): IntArray {
var answer = mutableListOf<Int>()
(left..right).forEach { index ->
val num = (Math.max(index/n, index%n).toInt())+1
answer.add(num)
}

        return answer.toIntArray()
    }
}

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. n의 범위가 크기 떄문에 규칙을 찾는다
    • 2차원 배열 값은 max(r,c)+1임을 알 수 있다.
    • left, right 인덱스가 2차원 배열에서 해당하는 위치는 r = index/n, c = index%n이다.

👏 해결 완료!