본문 바로가기

프로그래머스/Level 2

프로그래머스 - n^2 배열 자르기(Python)

배열의 크기가 커진다고 숫자를 배열하는 방법이 달라지는 것은 아니기 때문에 테스트케이스 1번만 봐도 모든 문제를 해결할 수 있다

숫자 번호
1 1
2 1, 3, 4
3 2, 5, 6, 7, 8

 

이렇게 번호를 부여받게 되는데, 잘 보게 되면 배열의 크기 n으로 번호를 나눈 값의 몫이나 나머지가 (숫자 -1) 형태로 되어있다.

 

대놓고 규칙 찾기 문제이기 때문에 이것만 찾는다면 이제는 구현 뿐이다.

<문제>

https://school.programmers.co.kr/learn/courses/30/lessons/87390

 

프로그래머스

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

programmers.co.kr

 


<소스코드>

def solution(n, left, right):
    answer = []
    for i in range(left, right+1, 1):
        a = i//n    #i / n을 하니 소수점 아래까지 쭉쭉 구해버리네...
        b = i%n
        last = max(a, b)
        answer.append(last+1)
    return answer