Coding Test
[프로그래머스] n^2 배열 자르기
상상쓰
2021. 10. 14. 16:20
https://programmers.co.kr/learn/courses/30/lessons/87390
코딩테스트 연습 - n^2 배열 자르기
정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부
programmers.co.kr
[1, 2, 3, 4, ...]
[2, 2, 3, 4, ...]
[3, 3, 3, 4, ...]
[4, 4, 4, 4, ...]
.
.
.
로 진행하는 배열로 규칙을 찾아서 구해주면 된다.
위치를 i 라고 한다면 i 를 n 으로 나누면 i 에 해당하는 행과 열을 구할 수 있다.
위의 규칙으로 봤을 때 해당하는 행과 열의 위치에 있는 값은 max(행, 열) + 1 이라고 할 수 있다.
def solution(n, left, right):
answer = []
for i in range(left, right+1):
answer.append(max(divmod(i, n)) + 1)
return answer
print(solution(3, 2, 5)) # [3,2,2,3]