본문 바로가기

코딩테스트/programmers

n^2 배열 자르기

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

 

프로그래머스

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

programmers.co.kr

 

 

2차원 배열을 row 단위로 잘라 이어 붙여서 1차원 배열로 만들고, 주어진 left, right 구간 배열을 리턴해야 한다.

 

2차원 배열을 만들기에는 n의 단위가 10^7 이므로 무리.

 

문제 샘플로 주어지는 예시를 잘 살펴보면

 

행과 열에 따라 어떤 숫자를 넣어야 하는지 알 수 있다.

 

class Solution {
    public int[] solution(int n, long left, long right) {
        
        int [] answer = new int[((int) (right - left)) + 1];
        
        int index = 0;
        for (long i = left; i <= right; i++) {
            
            int row = (int) (i / n);
            int col = (int) (i % n);
            
            int num = 0;
            if (col <= row) {
                num = row + 1;
            } else {
                num = col + 1;
            }
            
            answer[index++] = num;

        }
        
        return answer;
    }
}

 

'코딩테스트 > programmers' 카테고리의 다른 글

행렬의 곱셈  (0) 2023.10.06
H-Index  (0) 2023.10.06
할인 행사  (0) 2023.10.04
괄호 회전하기  (0) 2023.09.25
연속 부분 수열 합의 개수  (0) 2023.09.25