function solution(n) {
let a = Array(n).fill().map((_, i) => Array(i + 1).fill())
let row = -1
let col = 0
let fill = 0
for (let i = n; i > 0; i -= 3) {
a[++row][col] = ++fill
for (let j = 0; j < i - 1; j++) a[++row][col] = ++fill
for (let j = 0; j < i - 1; j++) a[row][++col] = ++fill
for (let j = 0; j < i - 2; j++) a[--row][--col] = ++fill
}
return a.flat()
}
- 직각 삼각형으로 이중 배열을 만들어 풉니다.
'JAVASCRIPT > 자바스크립트 알고리즘' 카테고리의 다른 글
[프로그래머스 Lv.1] 소수 찾기 (2) | 2021.02.06 |
---|---|
[프로그래머스 Lv.1] 서울에서 김서방 찾기 (0) | 2021.02.06 |
[프로그래머스] 오픈채팅방 (0) | 2021.02.06 |
[프로그래머스] 위장 (0) | 2021.02.06 |
[프로그래머스 Lv.2] 124 나라의 숫자 (0) | 2021.02.05 |