ํฐ์คํ ๋ฆฌ ๋ทฐ
Algorithm/Programmers
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์คํจ์จ
๊ฐ๋ฐ๊ฐ๊ตด๐ธ 2022. 9. 5. 18:01[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/42889
[ํ์ด]
1. level ๋ฐฐ์ด์ ํ์ฌ ์คํ ์ด์ง(๋ ๋ฒจ)์ ๋๋ฌํ ํ๋ ์ด์ด ์๋ฅผ ์ ์ฅํฉ๋๋ค.
2. clear ๋ณ์์ ๋ง์ง๋ง ๋ ๋ฒจ๊น์ง ํด๋ฆฌ์ดํ ํ๋ ์ด์ด ์๋ฅผ ์ ์ฅํฉ๋๋ค.
- ๋ง์ง๋ง ๋ ๋ฒจ๊น์ง ํด๋ฆฌ์ดํ ํ๋ ์ด์ด ์ = level[N+1]
3. fail ๋ฐฐ์ด์ [์คํ ์ด์ง, ์คํ ์ด์ง ์คํจ์จ] ํํ๋ก ๋ชจ๋ ์คํ ์ด์ง์ ์คํจ์จ์ ์ ์ฅํฉ๋๋ค.
- ๋ง์ฝ ํ์ฌ ์คํ ์ด์ง๊ฐ i๋ผ๋ฉด, ์คํจ์จ = (ํ์ฌ ์คํ ์ด์ง์ ์๋ ํ๋ ์ด์ด ์) / (i~N+1 ๊น์ง ๋๋ฌํ ํ๋ ์ด์ด ์์ ํฉ)
- level ๋ฐฐ์ด์ N๋ถํฐ 1๊น์ง ์คํ ์ด์ง๋ฅผ ํ๋จ๊ณ์ฉ ๋ฎ์ถ์ด ๊ฐ๋ฉฐ clear ๋ณ์๋ฅผ ๋ํด ์ฐ์ฐ์ ์ต์ํ
๋ฐ๋ผ์ ์ ์ถ๋ ฅ ์ 1๋ฒ์ fail ๋ฐฐ์ด์ ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
[
[ 5, 0 ],
[ 4, 0.5 ],
[ 3, 0.5 ],
[ 2, 0.42857142857142855 ],
[ 1, 0.125 ]
]
4. ๋ง์ง๋ง์ผ๋ก sort ์ฐ์ฐ์ ํตํด fail ๋ฐฐ์ด์ ์คํจ์จ์ด ๋์ ์คํ ์ด์ง ๋ถํฐ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ์ฌ answer์ ์ ์ฅํฉ๋๋ค.
fail.sort((a, b) => a[1] === b[1] ? a[0] - b[0] : b[1] - a[1]);
fail.forEach(([a, b]) => answer.push(a));
[์ฝ๋]
function solution(N, stages) {
var answer = [];
const level = Array.from({length: N+2}, () => 0);
stages.forEach((num) => {
level[num]++;
})
// [๋ ๋ฒจ, ์คํจ์จ]
const fail = [];
let clear = level[N+1];
for(let i=N;i>=1;i--) {
clear += level[i];
clear === 0 ? fail.push([i, 0]) : fail.push([i, level[i]/clear]);
}
fail.sort((a, b) => a[1] === b[1] ? a[0] - b[0] : b[1] - a[1]);
fail.forEach(([a, b]) => answer.push(a));
return answer;
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋ธ๋ก๊ฒ์ (0) | 2022.09.16 |
---|---|
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌด์ง์ ๋จน๋ฐฉ ๋ผ์ด๋ธ (0) | 2022.09.11 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ (0) | 2022.09.01 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์นด๋ ์ง ๋ง์ถ๊ธฐ (0) | 2022.08.31 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ํฉ์น ํ์ ์๊ธ (0) | 2022.08.27 |
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ๋์์ธ ํจํด
- ์ ์ญ ๋ณ์
- http
- ์ด๋ถํ์
- ํ๋กํผํฐ
- ์นด์นด์ค ์ธํด
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- fp
- ๋ฐฑ์ค
- JavaScript
- ํฌํฌ์ธํฐ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ฐฑ์ค javascript
- ์๊ณ ๋ฆฌ์ฆ
- ์ฝ๋ฉํ ์คํธ
- Baekjoon
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- TDD
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- map
- ์๋ฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ด์์ฒด์
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๋ ์์ปฌ ํ๊ฒฝ
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค node.js
- ๋คํธ์ํฌ
- ํ๋กํ ์ฝ
- git
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
๊ธ ๋ณด๊ดํจ