상상쓰

[프로그래머스] n^2 배열 자르기 본문

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]

'Coding Test' 카테고리의 다른 글

[프로그래머스] 11주차_아이템 줍기  (2) 2021.10.20
[백준] 집합의 표현  (0) 2021.10.18
[백준] ACM 호텔  (0) 2021.10.13
[프로그래머스] 10주차_교점에 별 만들기  (0) 2021.10.12
[백준] 막대기  (0) 2021.10.10
Comments