동캄의 코딩도장

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

코테/프로그래머스

프로그래머스 level2 [n^2 배열 자르기] 파이썬

동 캄 2021. 12. 24. 11:48

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

#프로그래머스 n^2배열 자르기
def solution(n, left, right):
    answer = []
    s_row=left//n
    s_col=left%n
    e_row=right//n
    e_col=right%n
    if s_row<e_row:
        for i in range(s_col,n):
            M=max(s_row,i)
            answer.append(M+1)
        for i in range(s_row+1,e_row):
            for j in range(n):
                M=max(i,j)
                answer.append(M+1)
        for i in range(e_col+1):
            M=max(e_row,i)
            answer.append(M+1)
    else:
        for i in range(s_col,e_col+1):
            M=max(s_row,i)
            answer.append(M+1)
    return answer

먼저 시작 행,열 종료 행,열을 구한다.

시작행과 종료행이 같은지 여부를 따지고, 그 결과에 따라 연산을 실행한다.