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

yewon Lee·2023년 8월 17일
0


😎코딩테스트 연습>월간 코드 챌린지 시즌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]
profile
시작

0개의 댓글