๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/87390
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
ํ์ด
์ฒ์์๋ ์๋์ ๊ฐ์ด ์ฝ๊ฒ ๊ตฌํํ์์ผ๋ ๋ช๋ช ํ ์คํธ์ผ์ด์ค์์ ๋ฐํ์์๋ฌ๊ฐ ๋ด๋ค
function solution(n, left, right) {
let ans = [];
for(let i=0; i<n; i++)
for(let j=0; j<n; j++)
ans.push((i>j ? i : j)+1);
return ans.slice(left, right+1);
}
์กฐ๊ฑด์ ๋ค์ ๋ณด๋ n์ ๊ฐ์ด ์๋นํ ํฌ๊ธฐ ๋๋ฌธ์ ์ต์ ํ๊ฐ ํ์ํด๋ณด์๊ณ ,
์ดํ ํ์ํ ๋ถ๋ถ๋ง ๋ฐ๋ณต๋ฌธ์ ๋๋๋ก ์ฝ๋๋ฅผ ๋ณ๊ฒฝํด์ฃผ์๋ค
function solution(n, left, right) {
let ans = [];
for(let i=Math.floor(left/n); i<=Math.floor(right/n); i++) {
for(let j=0; j<n; j++) {
ans.push((i>j ? i : j)+1);
}
}
for(let i=0; i<Math.floor(left%n); i++)
ans.shift();
for(let i=0; i<n - Math.floor(right%n) - 1; i++)
ans.pop();
return ans;
}
๊ทธ๋ฌ๋๋ ์ด์ ๋ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค.
O(n^2)๋ก๋ ๋์ ํ ์๋๋ ๊น๊นํ ๋ฌธ์ ๊ฐ์์ O(n)์ผ๋ก ๋ฐ๊ฟ์คฌ๋ค
function solution(n, left, right) {
let ans = [];
for(let x=left; x<=right; x++) {
let i = Math.floor(x/n);
let j = Math.floor(x%n);
ans.push((i>j ? i : j)+1);
}
return ans;
}
์ฑ๊ณต!
๋ฐ์ํ
'๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํํ (1) | 2023.05.17 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์์ (0) | 2023.05.16 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์์๋๋ฐ์ ์์์ต๋๋ค (0) | 2023.05.11 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] H-Index (0) | 2023.05.10 |
[ํ๋ก๊ทธ๋๋จธ์ค][Javascript / JS] ๊ดํธ ํ์ ํ๊ธฐ (0) | 2023.05.09 |