Algorithm
[프로그래머스] n^2 배열 자르기
쑤야.
2023. 12. 15. 15:21
접근
- 설명처럼 2차 배열 → 슬라이싱 및 1차 배열 변환으로 접근했다가는 시간초과가 발생한다.
- 인덱스 값을 활용하여 left부터 right 인덱스만 접근한다.
로직
- 인덱스를 n으로 나눴을 때의 몫과 나머지 중 큰 값에 1을 더한 값이 원소값이 된다. (직접 작성해보면 쉽게 찾을 수 있다)
- result 배열에 left부터 right 인덱스에 해당하는 값을 넣어준다.
코드
def solution(n, left, right):
result = []
for i in range(left, right+1):
result.append(max(i//n, i%n)+1)
return result