프로그래머스

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

yanJuicy 2024. 1. 10. 17:15
반응형

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

풀이

2차원 배열의 값을 채우는 규칙을 찾으면 배열을 사용하지 않아도 된다.

2차원 배열을 만들어서 문제를 해결하는 경우 O(n^2) 시간복잡도로 문제를 풀 수 없다.

배열의 값을 채우는 규칙은 다음과 같다.

인덱스의 몫과 나머지로 n x n 배열의 행과 열을 알 수 있다.

그중 큰 값에 1을 더하면 배열의 값이다.

 

 

 

코드

python

def solution(n, left, right):
    answer = []
    
    for i in range(left, right + 1):
        answer.append(max(i // n, i % n) + 1)
    
    return answer
 
 
반응형