chyam

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

프로그래머스/LV2

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

chyam_eun 2025. 1. 3. 11:07

https://school.programmers.co.kr/learn/courses/30/lessons/87390?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

def solution(n, left, right):
    cnt=0
    li=[[0]*n for a in range(n)]
    arr=[0]*(right-left+1)
    c=0
    for a in range(n):
        for b in range(n):
            li[a][b]=max(a,b)+1
    for a in range(n):
        for b in range(n):
            if left<=cnt<=right:
                arr[c]=li[a][b]
                c+=1
            cnt+=1
    return arr

위에는 처음에 시간초과가 뜬 풀이이다.

a행 b열인것을 구하고 a과 b 중 큰 숫자로 값을 정한다. (1행1열이면 1, 2행1열이면 2, 3행2열이면 3)

def solution(n, left, right):
    cnt=0
    li=[a for a in range(left,right+1)]
    for a in range(len(li)):
        li[a]= max(li[a]%n,li[a]//n)+1 
    return li