[νλ‘κ·Έλλ¨Έμ€] λ¬Έμμ΄ κ³μ°νκΈ° (JavaScript λ¬Έμ νμ΄)CS/Solutions2023. 12. 19. 19:26
Table of Contents
λ°μν
π λ¬Έμ μ€λͺ
my_string
μ "3 + 5"μ²λΌ λ¬Έμμ΄λ‘ λ μμμ
λλ€. λ¬Έμμ΄ my_string
μ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μμμ κ³μ°ν κ°μ return νλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ νμ¬ν
- μ°μ°μλ +, -λ§ μ‘΄μ¬ν©λλ€.
- λ¬Έμμ΄μ μμκ³Ό λμλ κ³΅λ°±μ΄ μμ΅λλ€.
- 0μΌλ‘ μμνλ μ«μλ μ£Όμ΄μ§μ§ μμ΅λλ€.
- μλͺ»λ μμμ μ£Όμ΄μ§μ§ μμ΅λλ€.
- 5 ≤
my_string
μ κΈΈμ΄ ≤ 100 my_string
μ κ³μ°ν κ²°κ³Όκ°μ 1 μ΄μ 100,000 μ΄νμ λλ€.my_string
μ μ€κ° κ³μ° κ°μ -100,000 μ΄μ 100,000 μ΄νμ λλ€.- κ³μ°μ μ¬μ©νλ μ«μλ 1 μ΄μ 20,000 μ΄νμΈ μμ°μμ λλ€.
my_string
μλ μ°μ°μκ° μ μ΄λ νλ ν¬ν¨λμ΄ μμ΅λλ€.
- return type μ μ μνμ λλ€.
my_string
μ μ«μμ μ°μ°μλ 곡백 νλλ‘ κ΅¬λΆλμ΄ μμ΅λλ€.
π₯ μ μΆλ ₯ μ
my_string | result |
"3 + 4" | 7 |
π» λμ νμ΄
λ€λ₯Έ μ¬λμ νμ΄μμλ eval ν¨μλ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄ μμμ κ³μ°νμ§λ§, 보μμμ μ΄μ λ‘ evalμ μ¬μ©μ κΆμ₯λμ§ μμμ.
eval ν¨μμ λν μ€λͺ μ MDN Web Docsμμ νμΈν μ μμ΄μ.
evalμ μ λ¬λ λ¬Έμμ΄μ JavaScript μ½λμ μΌλΆλ‘ μ€νν΄μ. μ΄ λλ¬Έμ μ μμ μΈ μ¬μ©μκ° μ€ν¬λ¦½νΈλ₯Ό μ£Όμ ν μ μλ κ°λ₯μ±μ΄ μμ΄μ. μλ₯Ό λ€μ΄, μ¬μ©μ μ λ ₯μ κ²μ¦ μμ΄ evalμ μ λ¬νλ€λ©΄, μ¬μ©μλ μμμ JavaScript μ½λλ₯Ό μ€νν μ μκ² λμ΄, XSS(ν¬λ‘μ€ μ¬μ΄νΈ μ€ν¬λ¦½ν ) 곡격μ μ·¨μ½ν΄μ§ μ μμ΄μ.
- μμ λΆλ¦¬: μ
λ ₯λ λ¬Έμμ΄
my_string
μ 곡백μ κΈ°μ€μΌλ‘ λΆλ¦¬νμ¬ λ°°μ΄parts
λ‘ λ³νν©λλ€. μ΄ λ°°μ΄μλ μ«μμ μ°μ°μκ° λ²κ°μ λνλ©λλ€. - μ΄κΈ° κ° μ€μ :
parts
λ°°μ΄μ 첫 λ²μ§Έ μμ(첫 λ²μ§Έ μ«μ)λ₯Ό μ μλ‘ λ³ννμ¬result
λ³μμ ν λΉν©λλ€. μ΄ κ°μ μ΅μ’ κ³μ° κ²°κ³Όλ₯Ό μ μ₯νκΈ° μν μ΄κΈ° κ°μ λλ€. - λ°°μ΄ μν λ° κ³μ° μν:
parts
λ°°μ΄μ μννλ©΄μ λ€μ μμ μ μνν©λλ€:- κ° μνμμ μ°μ°μ(+ λλ -)λ₯Ό νμΈν©λλ€.
- μ°μ°μ λ€μμ μ€λ μ«μλ₯Ό μ μλ‘ λ³νν©λλ€.
- νμΈλ μ°μ°μμ λ°λΌ resultμ λμ κ³μ°μ μνν©λλ€ (
result += number
λλresult -= number
).
- κ²°κ³Ό λ°ν: λͺ¨λ κ³μ°μ΄ μλ£λλ©΄ μ΅μ’
result
κ°μ λ°νν©λλ€.
function solution(my_string) {
const parts = my_string.split(" ");
let result = parseInt(parts[0]);
for (let i = 1; i < parts.length; i += 2) {
const operator = parts[i];
const number = parseInt(parts[i + 1]);
if (operator === "+") {
result += number;
} else if (operator === "-") {
result -= number;
}
}
return result;
}
λ°μν
'CS > Solutions' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
@μ€λΉ :: console.log("Hello, World!");
ν¬μ€ν μ΄ μ’μλ€λ©΄ "μ’μμβ€οΈ" λλ "ꡬλ ππ»" ν΄μ£ΌμΈμ!