정수 n, left, right가 주어진다.
arr
이라 할 때, arr[left ~ right]
를 구한다.A[ROW][COL] -> B[ROW * N + COL]
A[ROW][COL] = max(ROW, COL) + 1
left ~ right
사이의 인덱스i
가 2차원 배열일때 어느row, col
의 위치에 있을지 찾는다.n = 4, i = 7
일 경우 row = 7 // 4 = 1, col = 7 % 4 = 3
에 있다.row = i // n
, col = i % n
과 같다.def solution(n, left, right):
answer = [0 for _ in range(right - left + 1)]
for i in range(right - left + 1):
r = (i + left) // n
c = (i + left) % n
answer[i] = max(r, c) + 1
# 한줄로도 가능하다.
# answer[i] = max( (i + left) // n, (i + left) % n) ) + 1
return answer