https://school.programmers.co.kr/learn/courses/30/lessons/87390#qna
문제 풀이
배열을 사용할 경우 메모리 효율성 문제(core dumped)가 발생하므로, 좌표 값을 구하는 공식을 사용하여 좌표를 구하고 x, y좌표 중 큰 값을 해당 좌표의 값으로 answer에 push 한다.
2차원 배열의 x좌표는 i / n의 몫에 해당하고, y좌표는 나머지에 해당한다.
function solution(n, left, right) {
var answer = [];
var q = 0; // 몫
var r = 0; // 나머지
/*
* 1) 2차원 배열의 좌표 x, y 중 큰 값 + 1 이 해당 좌표의 값에 해당한다.
* arr[x][y] = Math.max(x+1, y+1)
* left ~ right까지의 길이 만큼 반복한다.
*/
for (var i = left; i <= right; i++) {
// 2) x좌표를 구하는 공식(몫)
q = Math.floor(i / n);
// 3) y좌표를 구하는 공식(나머지)
r = i % n;
// 4) 큰 값이 좌표의 값으로 answer에 push
answer.push(Math.max(q+1, r+1));
}
return answer;
}
반응형
'Algorithm' 카테고리의 다른 글
[프로그래머스/JavaScript] Lv.2 교점에 별 만들기 (0) | 2023.10.06 |
---|---|
[프로그래머스/JavaScript] Lv.2 피로도 (0) | 2023.09.21 |
[프로그래머스/JavaScript] Lv.2 k진수에서 소수 개수 구하기 (0) | 2023.09.19 |
[프로그래머스/JavaScript] Lv.2 양궁대회 (0) | 2023.09.18 |
[프로그래머스/JavaScript] Lv.2 택배 배달과 수거하기 (0) | 2023.09.01 |