본문 바로가기
코딩테스트 연습

[Programmers] n^2 배열 자르기

by eddypark 2023. 9. 8.

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