์ ๋ต
function solution(N, stages) {
var answer = [];
let fails = [];
for (let i = 1; i <= N; i++) {
let arrive = []; //๋์ฐฉํ์ง๋ง ํด๋ฆฌ์ดํ์ง ๋ชปํ ์ ์
let clear = []; //ํด๋ฆฌ์ดํ ์ ์
for (let j = 0; j < stages.length; j++) {
if (i == stages[j]) {
arrive.push(stages[i]);
}
}
for (let k = 0; k < stages.length; k++) {
if (i <= stages[k]) {
clear.push(stages[k]);
}
}
let fail = { //์ธ๋ฑ์ค์ ์คํจ์จ์ด ์๋ ๊ฐ์ฒด ๋ง๋ค๊ธฐ
index: i,
failRate: arrive.length / clear.length,
};
fails.push(fail);
}
fails = fails.sort((a, b) => b.failRate - a.failRate);
for (let i = 0; i < fails.length; i++) {
answer.push(fails[i].index);
}
return answer;
}
ํ์ด
1. ์คํจ์จ์ ๊ตฌํ๊ธฐ์ํด ์กฐ๊ฑด์ ํด๋นํ๋ ์ ์ ๋ฅผ ๋ฐฐ์ด์ ๋ฃ๊ณ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค.
์ ์ฝ๋์์๋
์คํ ์ด์ง์ ๋๋ฌํ์ผ๋ ์์ง ํด๋ฆฌ์ดํ์ง ๋ชปํ ํ๋ ์ด์ด์ ์ / ์คํ ์ด์ง์ ๋๋ฌํ ํ๋ ์ด์ด ์ ๋ฅผ
arrive.length / clear.length ๋ก ํํํ๋ค.
2. ์ธ๋ฑ์ค์ ํจ๊ป ์คํจ์จ์ ์ ์ฅํ๊ธฐ์ํด ๊ฐ์ฒด๋ฅผ ์์ฑ ํ, fails๋ฐฐ์ด์ pushํด์ค๋ค.
3. fails๋ฐฐ์ด์ ์คํจ์จ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๊ธฐ ์ํด
fails.sort((a, b) => b.failRate - a.failRate)
์ด์ ๊ฐ์ ํํ๋ก ์ ๋ ฌํด์ค๋ค.
4. ์ ๋ ฌ๋ fails๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ answer์ ์์ฐจ์ ์ผ๋ก pushํ๋ค.
'๐ ์ฝ๋ฉํ ์คํธ ์ฐ์ต' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ก์ธ์ค JS ํ์ด (0) | 2023.06.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (JavaScript) (0) | 2023.03.02 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋น๋ฐ์ง๋(JavaScript) (0) | 2023.02.21 |
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ฉํ ์คํธ ์์ฃผ ์ฐ๋ ํจ์ ์ ๋ฆฌ(1) (0) | 2023.02.21 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด(java) (0) | 2023.01.19 |