๐ ๋ฌธ์
์์ด ์ ์์ ์ํ ์ ์์ ํ๊ท ์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์๋ค์ ๋ฑ์๋ฅผ ๋งค๊ธฐ๋ ค๊ณ ํฉ๋๋ค. ์์ด ์ ์์ ์ํ ์ ์๋ฅผ ๋ด์ 2์ฐจ์ ์ ์ ๋ฐฐ์ด score๊ฐ ์ฃผ์ด์ง ๋, ์์ด ์ ์์ ์ํ ์ ์์ ํ๊ท ์ ๊ธฐ์ค์ผ๋ก ๋งค๊ธด ๋ฑ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์ ํ์ฌํญ
- 0 ≤ score[0], score[1] ≤ 100
- 1 ≤ score์ ๊ธธ์ด ≤ 10
- score์ ์์ ๊ธธ์ด๋ 2์ ๋๋ค.
- score๋ ์ค๋ณต๋ ์์๋ฅผ ๊ฐ์ง ์์ต๋๋ค.
๐ ์ ์ถ๋ ฅ ์
score result
[[80, 70], [90, 50], [40, 70], [50, 80]] [1, 2, 4, 3]
[[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]] [4, 4, 6, 2, 2, 1, 7]
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ํ๊ท ์ ๊ฐ๊ฐ 75, 70, 55, 65 ์ด๋ฏ๋ก ๋ฑ์๋ฅผ ๋งค๊ฒจ [1, 2, 4, 3]์ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ํ๊ท ์ ๊ฐ๊ฐ 75, 75, 40, 95, 95, 100, 20 ์ด๋ฏ๋ก [4, 4, 6, 2, 2, 1, 7] ์ returnํฉ๋๋ค.
- ๊ณต๋ 2๋ฑ์ด ๋ ๋ช , ๊ณต๋ 4๋ฑ์ด 2๋ช ์ด๋ฏ๋ก 3๋ฑ๊ณผ 5๋ฑ์ ์์ต๋๋ค.
๐ง ํ์ด
function solution(score) {
const len = score.length;
let new_arr = [];
while (score.length != 0) {
let tmp = score.shift();
let avg = (tmp[0] + tmp[1]) / 2;
new_arr.push(avg);
}
let answer = new Array(len);
answer.fill(-1);
let k = 1;
while (new_arr.filter(e => 0 === e).length != new_arr.length) {
let max = Math.max.apply(Math, new_arr);
let cnt = 0;
while (max === Math.max.apply(Math, new_arr)) {
let idx = new_arr.indexOf(max);
answer[idx] = k;
new_arr[idx] = 0;
cnt += 1;
}
k += cnt;
}
while (answer.indexOf(-1) != -1) {
answer[answer.indexOf(-1)] = Math.max.apply(Math, answer) + 1;
}
return answer;
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ด์ง์ ๋ํ๊ธฐ (0) | 2023.04.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์นํจ ์ฟ ํฐ (0) | 2023.04.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ก๊ทธ์ธ ์ฑ๊ณต? (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์น์์ด (1) (0) | 2023.04.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํน์ดํ ์ ๋ ฌ (0) | 2023.04.18 |