문제
내가 작성한 정답
class Solution {
public int solution(String my_string) {
String[] arr = my_string.split(" ");
int answer = Integer.parseInt(arr[0]);
for(int i=1; i<arr.length-1; i++){
if(arr[i].equals("+")) answer+=Integer.parseInt(arr[i+1]);
else if (arr[i].equals("-")) answer -= Integer.parseInt(arr[i+1]);
}
return answer;
}
}
class Solution {
public int solution(String my_string) {
int answer = 0;
for(String s: my_string.replaceAll("- ","-")
.replaceAll("\\+ ","").split(" ")){
answer += Integer.parseInt(s);
}
return answer;
}
}다른 사람들의 정답
import java.util.Arrays;
class Solution {
public int solution(String myString) {
return Arrays.stream(myString.replaceAll("- ", "-").replaceAll("[+] ", "").trim().split(" ")).mapToInt(Integer::parseInt).sum();
}
}
class Solution {
public int solution(String my_string) {
int answer = 0;
boolean sign = true;
String[] sarr = my_string.split(" ");
for(int i=0; i<sarr.length; i++){
if(i%2==0){
answer += sign? Integer.parseInt(sarr[i]):-Integer.parseInt(sarr[i]);
}else{
sign = sarr[i].equals("+");
}
}
return answer;
}
}Share article