😎코딩테스트 연습>월간 코드 챌린지 시즌3>n^2 배열 자르기
i = left ~ right
row = i%n
colunm = i//n
arr[row][colunm] = max(row, colunm)+1
def solution(n, left, right):
answer = []
for i in range(left, right+1):
row = i%n
colunm = i//n
answer.append(max(row, colunm)+1)
return answer
처음에는 전부 일일이 배열에 넣어서 시간초과로 오류가 났었다.
그리고 나서 풀이 아이디어는 생각이 났지만 구현을 하지 못했는데
스터디를 통해 해결하였다.
✏처음풀이
def solution(n, left, right):
answer = []
arr = [[0] * n for i in range(n)]
for i in range(n):
arr[i][i] = i+1
for j in range(i):
arr[i][j] = i+1
arr[j][i] = i+1
arr2 = []
for i in range(n):
for j in range(n):
arr2.append(arr[i][j])
return arr2[left:right+1]