728x90
문제 설명
문제 풀이 방법
- 이 문제를 보고 2중 배열을 이용해 풀려했지만 n의 길이가 10^7까지이므로 길어지게 된다면
런타임 에러가 날수 있다고 생각해 1차원 배열 형식으로 풀어 봤다. - 우선 2차원 배열에서의 가로 세로 row와 col을 구하는 법은
구해야 하는 인덱스값을 n으로 나눈 나머지 값이 row이다.
그리고 인덱스값을 n으로 나눈뒤 floor 작업을 해준 값이 col이다. - 규칙을 보면 row값이 col보다 작은거나 같은 경우는 col+1값이 되며,
row가 col보다 큰 경우는 row+1값이 된다.
코드
function solution(n, left, right) {
let arr = []
for(let i = left; i<=right; i++){
let row = i % n;
let col = Math.floor(i / n);
let num = col;
if(row > col){
num = row
}
arr.push(num + 1)
}
return arr
}
728x90
'코딩 테스트 > 프로그래머스 코딩 테스트 연습' 카테고리의 다른 글
[JS] 2Level / 2020 KAKAO BLIND RECRUITMENT / 괄호 변환 (0) | 2023.06.23 |
---|---|
[JS] 2Level / 2022 KAKAO BLIND RECRUITMENT / k진수에서 소수 개수 구하기 (0) | 2023.06.11 |
[JS] 힌트 2Level / 완전탐색 / 피로도 (0) | 2023.06.09 |
[JS] 힌트 2Level / Summer/Winter Coding(~2018) / 스킬트리 (0) | 2023.06.08 |
[JS] 힌트 2Level / 2020 KAKAO BLIND RECRUITMENT / [3차] 압축 (0) | 2023.06.07 |