배열의 크기가 커진다고 숫자를 배열하는 방법이 달라지는 것은 아니기 때문에 테스트케이스 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
'프로그래머스 > Level 2' 카테고리의 다른 글
프로그래머스 - 뒤에 있는 큰 수 찾기(Python) (0) | 2025.05.09 |
---|---|
프로그래머스 - 롤케이크 자르기(Python) (0) | 2025.05.07 |
프로그래머스 - 귤 고르기(Python) (0) | 2025.05.04 |
프로그래머스 - 과제 진행하기(Python) (0) | 2025.05.04 |
프로그래머스(Lv.2) - 주차 요금 계산(Java) (0) | 2024.02.01 |