https://school.programmers.co.kr/learn/courses/30/lessons/87390
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
def solution(n, left, right):
answer = []
for i in range(left, right+1):
a = i // n
b = i % n
answer.append(max(a,b)+1)
return answer
배열을 일자로 쫙 핀 후 숫자를 대입해 보면 규칙이 보인다.
아래는 1번예제이다.
index
|
0(0,0)
|
1(0,1)
|
2(0,2)
|
3(1,0)
|
4(1,1)
|
5(1,2)
|
6(2,0)
|
7(2,1)
|
8(2,2)
|
value
|
1
|
2
|
3
|
2
|
2
|
3
|
3
|
3
|
3
|
규칙은 각 index에 해당하는 값의 규칙은 index를 n으로 나눈 몫과 나머지의 최댓값에서 +1 한 값이다.
즉 max((index//n), (index% n)) + 1
'코딩테스트 연습' 카테고리의 다른 글
[Softeer] 지도 자동 구축 (0) | 2023.09.14 |
---|---|
[Softeer] 비밀 메뉴 (0) | 2023.09.13 |
[Programmers] 괄호 회전하기 (0) | 2023.09.12 |
[Programmers] 캐시 (0) | 2023.09.11 |
[Programmers] 땅따먹기 (0) | 2023.09.08 |