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

김지원·2022년 1월 28일
0

coding-test

목록 보기
11/25
post-thumbnail

📖 문제링크

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

문제 설명

n과 left, right가 주어지고 n행 n열 크기가 비어있는 2차원 배열을 만든다.

그리고 그 배열을 모두 이어붙인 새로운 1차원 배열에서 left와 right만큼 잘라낸 후 그 배열을 보내준다.

📃 조건

  • 1 ≤ n ≤ 107
  • 0 ≤ left ≤ right < n2
  • right - left < 105

👨‍💻 문제풀이

필자가 푼 문제풀이


function solution(n, left, right) {
    const result = [];

    while (left <= right) {
        result.push(Math.max(parseInt(left / n), left % n) + 1);
        left++;
    }
    
    return result;
}

필자는 정말 간단하게 풀었다.
처음에는 그 배열을 모두 만드려고 했었지만
제한사항을 보면 너무나 많았다.

그래서 여러 방법을 시도해본 결과 1차원 배열의 index와 n을 나눈 결과와 나머지 중 큰 숫자에 1을 더한 결과가 답이라는 것을 알아냈다.

이것이 무슨 방식인지는 다음에 한 번 업데이트를 해봐야겠다.

2022.01.28

profile
backend-developer

0개의 댓글