[프로그래머스] n^2 배열 자르기
📖 문제링크
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
Author And Source
이 문제에 관하여([프로그래머스] n^2 배열 자르기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimjiwonpg98/프로그래머스-n2-배열-자르기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)