ํฐ์คํ ๋ฆฌ ๋ทฐ
Algorithm/Programmers
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํธ ๊ฒ์
๊ฐ๋ฐ๊ฐ๊ตด๐ธ 2022. 9. 18. 17:40[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/17682
[ํ์ด]
๋ฌธ์ ์ ํต์ฌ์ ์ ๊ท์์ ํ์ฉํด S,D,T,*,#์ ๊ฐ์ ์ฐ์ฐ์์, ์ซ์๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
์์ 1๋ฒ 1S2D*3T๋ฅผ ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฆฌํ ์ ์์ต๋๋ค.
- ์ซ์๋ฅผ [1, 2, 3]์ผ๋ก ๋ถ๋ฆฌ(num[]) => dartResult.split(/[S|D|T|*|#]/).filter((e) => e !== '').map(Number)
- ์ฐ์ฐ์๋ฅผ [S, D*, T]์ผ๋ก ๋ถ๋ฆฌ(opt[]) => dartResult.split(/[0-9]/).filter((e) => e !== '')
๋ค์์ผ๋ก 1, 2, 3์ ๊ฐ๊ฐ ์ฐ์ฐ์์ ๋งค์นํ์ฌ ๊ณ์ฐ์ ์งํํ๋ฉฐ ๊ฐ๊ฐ ret๋ฐฐ์ด์ ์ ์ฅํฉ๋๋ค.
(*์ด ๋์์ ๊ฒฝ์ฐ ์ด์ ์ซ์๋ฅผ ํ์ฉํด์ผ ํ๋ฏ๋ก ret๋ฐฐ์ด์ ๊ฐ๊ฐ ์ฐ์ฐ๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ผ ํจ)
- S, D, T ๊ธฐ๋ณธ์ฐ์ฐ์ ์งํํ์ฌ ret์ ๊ธฐ๋ณธ ์ฐ์ฐ๊ฐ์ ์ ์ฅ
- ๋ง์ฝ ํ์ฌ i๋ฒ์งธ ์ฐ์ฐ์ค์ผ ๋, opt[i]์ ๊ธธ์ด๊ฐ 2๋ผ๋ฉด ์ถ๊ฐ์ฐ์ฐ์ ์งํ
๋ฐ๋ผ์ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ret ๋ฐฐ์ด์ [2, 8, 27]์ด๋ฏ๋ก 2+8+27 = 37์ด ๋ฉ๋๋ค.
[์ฝ๋]
function solution(dartResult) {
var answer = 0;
const num = dartResult.split(/[S|D|T|*|#]/).filter((e) => e !== '').map(Number);
const opt = dartResult.split(/[0-9]/).filter((e) => e !== '');
const ret = Array.from({length: 3}, () => 0);
for(let i=0;i<3;i++) {
// ๊ธฐ๋ณธ ์ฐ์ฐ
if(opt[i][0] === 'S') {
ret[i] = num[i];
} else if(opt[i][0] === 'D') {
ret[i] = num[i]*num[i];
} else if(opt[i][0] === 'T') {
ret[i] = num[i]*num[i]*num[i];
}
// ์ถ๊ฐ ์ฐ์ฐ
if(opt[i].length === 2) {
// ๊ณฑ์
if(opt[i][1] === '*') {
ret[i] *= 2;
if(i > 0) {
ret[i-1] *= 2;
}
}
// ๋ง์ด๋์ค
if(opt[i][1] === '#') {
ret[i] = ret[i]*-1;
}
}
}
for(let i=0;i<3;i++) {
answer += ret[i];
}
return answer;
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๊ธฐ์ง๊ตญ ์ค์น (0) | 2022.10.17 |
---|---|
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ซ์ ๊ฒ์ (1) | 2022.09.30 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋ธ๋ก๊ฒ์ (0) | 2022.09.16 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฌด์ง์ ๋จน๋ฐฉ ๋ผ์ด๋ธ (0) | 2022.09.11 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์คํจ์จ (0) | 2022.09.05 |
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ๋ ์์ปฌ ํ๊ฒฝ
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค javascript
- TDD
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ์ ์ญ ๋ณ์
- ํ๋กํผํฐ
- http
- ๋์์ธ ํจํด
- ์นด์นด์ค ์ธํด
- map
- ํฌํฌ์ธํฐ
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ์ฝ๋ฉํ ์คํธ
- git
- JavaScript
- fp
- ์๋ฐ
- ๋คํธ์ํฌ
- ์๊ณ ๋ฆฌ์ฆ
- ์ด๋ถํ์
- ํ๋กํ ์ฝ
- Baekjoon
- ์๋ฐ์คํฌ๋ฆฝํธ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- ์ด์์ฒด์
- ๋ฐฑ์ค node.js
- ๋ฐฑ์ค
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
๊ธ ๋ณด๊ดํจ