function solution(dartResult) {
var bonus = new Map([
['S',1],
['D',2],
['T',3]
]);
var option = new Map([
['*', 2],
['#', -1],
]);
var reg = new RegExp(/\d*[SDT][*#]*/,'g');
var list = dartResult.match(reg);
var score = new Map();
var index = 0;
for (const data of list)
{
var num = parseInt(data.match(/\d+/g));
var bo = data.match(/[SDT]/g).toString();
//string์ ๊ฒฝ์ฐ toString์ํตํด arr => string์ผ๋ก ๋ณํํด์ฃผ์ด์ผ ํ๋ค.
score.set(index, num ** bonus.get(bo));
var op = data.match(/[*#]/g);
if (op !== null)
{
op = op.toString();
if (op === '*' && index >= 1)
{
score.set(index - 1, score.get(index-1) * 2);
}
score.set(index, score.get(index) * option.get(op));
}
index += 1
}
var answer = 0
for (var i =0; i<3; i++)
{
answer += score.get(i);
}
return answer;
}
'๐ฏ CodingTest > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] (Javascript) ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.04.21 |
---|---|
[Programmers] (Javascript) ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2022.04.21 |
[Programmers] ๋คํธ๊ฒ์ (0) | 2022.04.18 |
[Programmers] ๋น๋ฐ์ง๋ (0) | 2022.04.18 |
[Programmers] ์คํจ์จ (0) | 2022.04.18 |