문제
답안 코드
class Solution {
public int solution(String my_string) {
String[] arr = my_string.split(" ");
int answer = Integer.parseInt(arr[0]);
/*for(int i = 0; i < arr.length; i++){
if(0 <= Integer.parseInt(arr[i]) && Integer.parseInt(arr[i]) <= 20000){
arr[i] = Integer.parseInt(arr[i]);
}
}*/
for(int i = 0; i < arr.length - 1; i++){
if(arr[i].equals("+")){
answer += Integer.parseInt(arr[i+1]);
System.out.println(answer);
}
else if(arr[i].equals("-")){
answer -= Integer.parseInt(arr[i+1]);
System.out.println(answer);
}
/*else if(0 <= Integer.parseInt(arr[i]) && Integer.parseInt(arr[i]) <= 20000){
answer += Integer.parseInt(arr[i]);
System.out.println(answer);
}*/
}
return answer;
}
}
코드 풀이
일부러 고민의 흔적까지 같이 넣었다.
원래는 +,-가 아닌 숫자이면 짜피 20000이하의 숫자만 계산한다 했으니까 범위안에 들어가는 숫자는 string을 int로 바꿔주려했다.
근데 이게 문제가 두자리수 이상은 만약 11이면 11로 한번 인식을 하고 또 1로 한번 더 인식 하는 것이였다!
그래서 수정한 완성본.