์ฒด๊ฐ Level : โ
โโ Review: ๋ฌธ์์ด -> ์ ์ ๋ณํ, ๋ฌธ์์ด ๊ด๋ จ ๋ฉ์๋๋ฅผ ์๊ณ , ์กฐ๊ฑด๋ฌธ (flag) ์ ์ ์ฌ์ฉํด์ฃผ๋ฉด ๋๋ ๋ฌธ์ |
๐ก ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋ ์์ ๊ณ์ฐํ ๊ฐ์ ๋ฐํํ๋ค.
ํ ์คํธ ์ผ์ด์ค๊ฐ ํ๋๋ผ 1 + 2 ํ๋์ ์ฐ์ฐ์๋ง ๋์ค๋ ๊ฑธ๋ก ์ฐฉ๊ฐํ๋๋ฐ
1 + 2 + 3 - 1 ์ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ ์ฐ์ฐ์๊ฐ ๋์ฌ ์ ์๋ค๋ ์ ์ ์์์ผํ๋ค.
flag๋ฅผ ์ด์ฉํด์ ํ์ด๋ดค๋ค.
1) + ๊ฐ ๋์ค๋ฉด flag = 0
2) - ๊ฐ ๋์ค๋ฉด flag = 1
3) ์ซ์๊ฐ ๋์ค๋ฉด?
3-1) flag == 0 : ๊ฐ์ ๋ํ๋ค.
3-2) flag == 1 : ๊ฐ์ ๋บ๋ค.
๐ฌ String[] str = ๋ฌธ์์ด.split(" ") :: " " ์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ผ์, ๋ฌธ์์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋ค.
๐ฌ Integer.valueOf() :: ๋ฌธ์์ด์ ์ ์๋ก ๋ณํํด์ค๋ค.
[์ฑ๊ณต]
class Solution {
public int solution(String my_string) {
int answer = 0;
String[] str = my_string.split(" ");
int flag = 0;
for (int i=0; i<str.length; i++){
if (str[i].equals("+")){ // +
flag = 0;
}else if (str[i].equals("-")){ // -
flag = 1;
}else {
if (flag == 0){
answer += Integer.valueOf(str[i]);
}else if (flag == 1){
answer -= Integer.valueOf(str[i]);
}
}
}
return answer;
}
}
[์คํจ]
์ ๋ ฅ๊ฐ์ด "1 + 2 - 3" ์ผ๋ก ๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํด์ค์ผํ๋ค.
class Solution {
public int solution(String my_string) {
int answer = 0;
String[] str = my_string.split(" ");
int a = Integer.valueOf(str[0]);
int b = Integer.valueOf(str[2]);
if (str[1].equals("+")){
answer = a+b;
}else {
answer = a-b;
}
return answer;
}
}