알고리즘/프로그래머스

n^2배열 자르기 (Python)

DeveloperJason 2023. 1. 17. 14:32

문제

 

프로그래머스

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

programmers.co.kr


 

문제 풀이


단순 구현으로는 시간초과 때문에 해결할 수 없다.

2차원 배열을 살펴보면 (i,j)의 원소는 max(i,j)임을 알 수 있다.

따라서 2차원 배열을 직접 구현할 필요 없이 1차원 배열의 인덱스만으로도 해당 원소를 알 수 있게 된다.

 

 

코드


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