function solution(my_string) {
return eval(my_string);
}
function solution(my_string) {
let result = 0;
my_string = my_string.split(" ").filter((v) => v !== "+");
for (let i = 0; i < my_string.length; i++) {
if (my_string[i] === "-") {
result -= parseInt(my_string[i + 1] * 2);
} else {
result += parseInt(my_string[i]);
}
}
return result;
}
/*
(ํ์ด)
1. eval ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ฌธ์์ด์ ๊ณ์ฐ
2. ๊ณต๋ฐฑ์ผ๋ก ์์๋ฅผ ๋๋ ์ฃผ๊ณ filter๋ก + ๋ฅผ ์ ์ธํ ๋๋จธ์ง๋ฅผ ์ฌํ ๋น
for ๋ฌธ์ ๋๋ ค -์ผ ๊ฒฝ์ฐ๋ง ํ์ฌ ์ธ๋ฑ์ค+1 ์์๋ฅผ result์ 2๋ฐฐ๋ก ๋นผ์ฃผ๊ณ
์ผ๋ฐ ์ซ์ ์์์ผ๋๋ ๋ํด์ค๋ค.
*/
ํผ๋๋ฐฑ
function solution(my_string) {
const arr = my_string.split(" ").filter((v) => v !== "+");
let result = 0;
for (let i = 0; i < arr.length; i++) {
if (my_string[i] === "-") {
result -= parseInt(arr[i + 1] * 2);
} else {
result += parseInt(arr[i]);
}
}
return result;
}
- ์ฒซ๋ฒ์งธ ํ์ด์์ ์ฌ์ฉํ eval()์ ์ค๋ฌด์์ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋๋ค. ์ด์ ๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋๋ฐ ๋ณด์์ ๋ฌธ์ , ์๋, ๊ฐ๋น์ง ์ปฌ๋ ์ ๋ฑ์ด ์๋ค.
- ๋๋ฒ์งธ ํ์ด์์ ์ฃผ์ด์ง my_string์ ์ฌํ ๋น ํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์๋๋ฐ filter๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํด์ฃผ๊ธฐ์ ๊ด๋ จ๋ ๋ณ์๋ช ์ผ๋ก ํ ๋นํด์ฃผ๋ ๊ฒ์ด ์ข์๋ณด์ธ๋ค. ๐
๋ค๋ฅธ ํ์ด
function solution(my_string) {
const arr = my_string.split(" ");
let result = Number(arr[0]);
arr.forEach((el, i) => {
const next = Number(arr[i + 1]);
if (el === "+") result += next;
else if (el === "-") result -= next;
});
return result;
}
- filter๋ฅผ ์ฌ์ฉํ์ง ์์ ๋ฐฉ๋ฒ. ์ํ๋ฅผ ๋๋ฉด์ ์ฐ์ฐ์๊ฐ ๋์ฌ ๊ฒฝ์ฐ ๊ทธ ๋ค์ ํผ์ฐ์ฐ์๋ฅผ ๋์ ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์ง๋ ค๋ฉด ์ฒซ ๋ฒ์งธ ์์๋ฅผ result์ ํ ๋น ์์ผ์ผ ํ๋ค!
'์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด > Programmers-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ง๋ฃ์์ ์ ํ๊ธฐ (0) | 2022.10.19 |
---|---|
๋ค์์ ์ฌ ์ซ์ (0) | 2022.10.19 |
์์ธ์๋ถํด (0) | 2022.10.19 |
๊ตฌ์ฌ์ ๋๋๋ ๊ฒฝ์ฐ์ ์ (0) | 2022.10.19 |
์ปจํธ๋กค ์ ํธ (0) | 2022.10.19 |