프로그래머스/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