์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- emotion RSC
- ์ฌ์ฉ์ฑ ๊ฐ์
- app router emotion
- ๋ฐฑ์ค 1339๋ฒ js
- ๊ตฌ๋ฆํค
- ๋ฐฑ์ค 1339๋ฒ nodejs
- suspense ๋น๋๊ธฐ
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- ๋ฐฑ์ค 2108 nodejs
- next13 emotion
- emtion app router
- ์นด์นด์ค ์ฝํ
- js ์ค์ฝํ
- suspense react-query
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- suspense ๋ณ๋ชฉํ์
- js ๋ฌธ์์ด ์์ถ
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- ์ค์ฝํ
- js
- suspense ๋์์๋ฆฌ
- ์ต์ ๋์ฒด์ด๋
- Today
- Total
Lennon FE
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ต๋ํ (js) ๋ณธ๋ฌธ
https://programmers.co.kr/learn/courses/30/lessons/67257?language=javascript
function solution(expression) {
const expressionCombination = [
['-', '+', '*'],
['-', '*', '+'],
['+', '-', '*'],
['+', '*', '-'],
['*', '-', '+'],
['*', '+', '-']
];
return expressionCombination.map((v) => {
let devideResult = devideExpression(expression);
v.forEach(v1 => {
while(true){
if(devideResult.includes(v1)){
const idx = devideResult.indexOf(v1);
if(v1 === '-') {
const value = parseInt(devideResult[idx-1]) - parseInt(devideResult[idx+1]);
spliceCalculate(devideResult, idx, value);
}
else if(v1 === '+'){
const value = parseInt(devideResult[idx-1]) + parseInt(devideResult[idx+1]);
spliceCalculate(devideResult, idx, value);
}
else if(v1 === '*'){
const value = parseInt(devideResult[idx-1]) * parseInt(devideResult[idx+1]);
spliceCalculate(devideResult, idx, value);
}
}
else break;
}
})
return devideResult.join("");
}).map(v => Math.abs(parseInt(v))).sort((a,b) => b-a)[0];
}
const devideExpression = string => {
let devide = [];
let str = '';
for(let i = 0; i < string.length; i++){
if(isNaN(string[i])){
devide.push(str);
devide.push(string[i]);
str = '';
continue;
}
str += string[i];
}
devide.push(str);
return devide;
}
const spliceCalculate = (devideResult, idx, value) => {
devideResult[idx] = value;
devideResult.splice(idx-1,1);
devideResult.splice(idx,1);
}
devideExpression ํจ์ => str์ ์ ๋ ฅํ๋ฉด ์์์ ๋๋์ด ๋ฐฐ์ด๋ก ๋ฆฌํด
ex) "100-200-300" => [ '100', '-', '200', '-', '300' ]
spliceCalculate ํจ์ => ๋ฐฐ์ด๊ณผ ์ธ๋ฑ์ค value๊ฐ ์ ๋ ฅํ๋ฉด ๋ฐฐ์ด์์ ๊ณ์ฐํด์ฃผ๊ณ ์ง๋ฅด๋ ํจ์
ex) spliceCalculate([ '100', '-', '200', '-', '300' ] , 1, 100-200) ์ด๋ ๊ฒ ์ ๋ ฅ์ด ๋์ผ๋ฉด
=> [ '-100', '-', '300' ] ์ด ๋จ.
solution์์ +, -, *์ ๋ชจ๋ ์กฐํฉ์ ๊ตฌํ ํ ๋ฐ๋ณต๋ฌธ์ ๋๋ ค +,-,*์ ๋ฐ๋ผ spliceCalculateํจ์์ ์๋ value๊ฐ์
์ ํด์ค ํ ๊ณ์ฐํ์ฌ ์ ๋๊ฐํ๊ณ ์ ๋ ฌ ํ 0๋ฒ์งธ ์ธ๋ฑ์ค ๋ฆฌํดํ๋ฉด ๋!
'๐ฅ Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฌธ์์ด ์์ถ (js) (0) | 2021.11.03 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด ๋๋ง์๊ธฐ (js) (0) | 2021.11.02 |
[ํ๋ก๊ทธ๋๋จธ์ค] 1์ฐจ ํ๋ ์ฆ4๋ธ๋ก (js) (0) | 2021.10.31 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ (js) (0) | 2021.10.30 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฉ๋ด ๋ฆฌ๋ด์ผ (js) (0) | 2021.10.30 |