Control 'Z' (with. Java)
βControl βZββ λ¬Έμ μ λνμ¬ μμλ³Έ κΈμ λλ€.
μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©°, νμλ λ¬Έμ μ λν νκ³ μ λ€λ₯Έ νμ΄ λ°©λ²μ μμ보며, μμκ°κ³ μ ν©λλ€.
λ¬Έμ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
λ¬Έμ
μ«μμ β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 |
λ¬Έμ μ λν λμ νμ΄
class Solution {
public int solution(String s) {
int answer = 0;
String[] temp = s.split(" ");
int tempInt = 0;
for(String a : temp){
if(a.equals("Z")){
answer -= tempInt;
} else{
answer += Integer.parseInt(a);
tempInt = Integer.parseInt(a);
}
}
return answer;
}
}
νμ΄ μ€λͺ
- λ¬Έμμ΄ λΆλ¦¬: s.split(β β)λ₯Ό ν΅ν΄ μ£Όμ΄μ§ λ¬Έμμ΄ sλ₯Ό 곡백μ κΈ°μ€μΌλ‘ λΆλ¦¬νμ¬ λ¬Έμμ΄ λ°°μ΄ tempμ μ μ₯νλ€.
- μ«μ λ° βZβ μ²λ¦¬: forλ¬Έμ ν΅ν΄ λ°°μ΄ tempλ₯Ό μννλ©΄μ, κ° μμκ° βZβμΈ κ²½μ° μ΄μ μ μ μ₯λ κ° tempIntλ₯Ό νμ¬κΉμ§μ ν© answerμμ λΉΌμ£Όκ³ , μ«μμΈ κ²½μ° μ μλ‘ λ³ννμ¬ νμ¬κΉμ§μ ν©μ λν΄μ€λ€.
- μ΄μ κ° κΈ°μ΅: βZβκ° λμ¬ λλ§λ€ νμ¬κΉμ§μ ν©μμ λΉΌκΈ°λ₯Ό μννλ―λ‘, κ·Έ μ΄μ μ μ μ₯λ μ μ κ°μ tempIntμ κΈ°μ΅νμ¬ νμ©νλ€.
μ½λ μ₯μ
- κ°λ¨ν λ‘μ§: κ°λ¨ν ν¨ν΄μ μ΄μ©νμ¬ λ¬Έμμ΄μ μ²λ¦¬νκ³ , ν©μ κ³μ°νλ λ‘μ§μ΄ μ§κ΄μ μ΄λ€.
- λ°°μ΄ νμ©: λ¬Έμμ΄μ λΆλ¦¬νμ¬ λ°°μ΄μ μ μ₯ν¨μΌλ‘μ¨ κ° μμλ₯Ό μμ°¨μ μΌλ‘ μ²λ¦¬ν μ μλ€.
μ½λ λ¨μ
- μ€λ₯ μ²λ¦¬ λΆμ‘±: βZβκ° λμ€λ κ²½μ°μ μ«μκ° λμ€λ κ²½μ°λ§μ κ³ λ €νκ³ μμΌλ©°, μ λ ₯κ°μ λν μ€λ₯ μ²λ¦¬κ° λΆμ‘±νλ€. μ ν¨μ± κ²μ¬ λ±μ μΆκ°νλ κ²μ΄ μ’λ€.
- λΆλ¦¬ κΈ°μ€ κ³ μ : νμ¬ μ½λμμλ 곡백μ κΈ°μ€μΌλ‘ λ¬Έμμ΄μ λΆλ¦¬νκ³ μμΌλ, μ΄ μΈμ λ€μν κ²½μ°μ λν κ³ λ €κ° μλ€. μ λ ₯ λ°μ΄ν°μ νμμ λ°λΌ λ€μν κ²½μ°λ₯Ό μ²λ¦¬νλ λ‘μ§μ μΆκ°νλ κ²μ΄ νμνλ€.