π λ¬Έμ
μ«μμ "Z"κ° κ³΅λ°±μΌλ‘ ꡬλΆλμ΄ λ΄κΈ΄ λ¬Έμμ΄μ΄ μ£Όμ΄μ§λλ€. λ¬Έμμ΄μ μλ μ«μλ₯Ό μ°¨λ‘λλ‘ λνλ €κ³ ν©λλ€. μ΄ λ "Z"κ° λμ€λ©΄ λ°λ‘ μ μ λνλ μ«μλ₯Ό λΊλ€λ λ»μ λλ€. μ«μμ "Z"λ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄ sκ° μ£Όμ΄μ§ λ, λ¨Έμ±μ΄κ° ꡬν κ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄λ³΄μΈμ.
π μ νμ¬ν
- 1 ≤ sμ κΈΈμ΄ ≤ 200
- -1,000 < sμ μμ μ€ μ«μ < 1,000
- sλ μ«μ, "Z", 곡백μΌλ‘ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
- sμ μλ μ«μμ "Z"λ μλ‘ κ³΅λ°±μΌλ‘ ꡬλΆλ©λλ€.
- μ°μλ 곡백μ μ£Όμ΄μ§μ§ μμ΅λλ€.
- 0μ μ μΈνκ³ λ 0μΌλ‘ μμνλ μ«μλ μμ΅λλ€.
- sλ "Z"λ‘ μμνμ§ μμ΅λλ€.
- sμ μμκ³Ό λμλ κ³΅λ°±μ΄ μμ΅λλ€.
- "Z"κ° μ°μν΄μ λμ€λ κ²½μ°λ μμ΅λλ€.
π μ μΆλ ₯ μ
s result
"1 2 Z 3" 4
"10 20 30 40" 100
"10 Z 20 Z 1" 1
"10 Z 20 Z" 0
"-1 -2 -3 Z" -3
π μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- λ³Έλ¬Έκ³Ό λμΌν©λλ€.
μ μΆλ ₯ μ #2
- 10 + 20 + 30 + 40 = 100μ return ν©λλ€.
μ μΆλ ₯ μ #3
- "10 Z 20 Z 1"μμ 10 λ€μ Z, 20 λ€μ Zλ‘ 10, 20μ΄ μ§μμ§κ³ 1λ§ λνμ¬ 1μ return ν©λλ€.
μ μΆλ ₯ μ #4, #5
- μ€λͺ μλ΅
- β» κ³΅μ§ - 2022λ 11μ 30μΌ μ νμ¬ν λ° ν μ€νΈ μΌμ΄μ€κ° μμ λμμ΅λλ€.
π§ νμ΄
function solution(s) {
// λ¬Έμμ΄ sλ₯Ό 곡백 κΈ°μ€μΌλ‘ λλ μμλ‘ λ§λ€μ΄ λ°°μ΄ μμ±
let array = s.split(" ");
let answer_array = [];
let answer = 0;
// μλ‘ μ μΈν λ°°μ΄μ ZμΌ λλ κΈ°μ‘΄μ μμλ₯Ό λΉΌκ³ , μ«μμ΄λ©΄ μΆκ°ν¨
while (array.length != 0) {
let tmp = array.shift();
if (tmp === "Z") {
answer_array.pop();
} else {
answer_array.push(tmp);
}
};
// λ°°μ΄μ λ¬Έμμ΄λ‘ λ μμλ€ λͺ¨λ μ«μνμΌλ‘ λ³ν
let number_answer_array = answer_array.map(Number);
// λ°°μ΄μ κ°λ€ νλμ© λΉΌμ answerμ λνκΈ°
while (number_answer_array.length != 0) {
answer += number_answer_array.shift();
}
// μ λ΅ λ¦¬ν΄
return answer;
}
'𧩠Algorithm > π§ JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ€λ³΅λ λ¬Έμ μ κ±° (0) | 2023.04.11 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] λ°°μ΄ μμμ κΈΈμ΄ (0) | 2023.04.11 |
[νλ‘κ·Έλλ¨Έμ€] μμΈμλΆν΄ (0) | 2023.04.10 |
[νλ‘κ·Έλλ¨Έμ€] μ¨μ΄μλ μ«μμ λ§μ (1) (0) | 2023.04.10 |
[νλ‘κ·Έλλ¨Έμ€] λ¬Έμμ΄ μ λ ¬νκΈ° (1) (0) | 2023.04.10 |