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

yujeongkwon·2022년 9월 25일
0

프로그래머스 / PYTHON

목록 보기
64/77

문제 설명

n^2 배열 자르기

정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.

n행 n열 크기의 비어있는 2차원 배열을 만듭니다.
i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다.
1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다.
1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다.
새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다.
정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.

풀이 & 코멘트

10^7 의 범위를 보고 당연히 n번은 안되겟구나를 생각하면 범위 값을 돌아야겠다라는 생각까지 도달.
난 근데 저렇게 생각하기(몫과 나머지 중에서 큰것 +1) 엄청어려웠는데 다시풀었음에도 불구하고 나는 몽총이~ 구현이 쉬워서 정답률이 높은건가(60%) 아님 나만 모른건가 ㅇ-ㅇ?

코드

과거 현재 코드 물구나무 서기해도 똑같아서 생략

def solution(n, left, right):
    answer = []
    for i in range(left,right+1):
        s,r = divmod(i,n)
        if s >= r:  answer.append(s+1)
        else:   answer.append(r+1)
    return answer
profile
인생 살자.

0개의 댓글