Search
Duplicate

n^2 배열 자르기

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

def rth_row(r, n): return [r] * r + list(range(r + 1, n + 1)) def solution(n, left, right): # left, right가 몇행 몇열인지 계산 leftr, leftc = left // n + 1, left % n + 1 rightr, rightc = right // n + 1, right % n + 1 # 예외처리: leftr == rightr인 경우는 해당 행만 리턴한다. if leftr == rightr: row = rth_row(leftr, n) return row[leftc-1:rightc] answer = [] answer += rth_row(leftr, n)[leftc-1:] for r in range(leftr + 1, rightr): answer += rth_row(r, n) answer += rth_row(rightr, n)[:rightc] return answer
Python
복사

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges