문제
내가 작성한 정답
class Solution {
public int solution(String my_string) {
String[] str = my_string.split(" ");
int answer = Integer.parseInt(str[0]);
for(int i = 1; i < str.length; i= i+2){
if(str[i].equals("+")){
answer += Integer.parseInt(str[i+1]);
} else {
answer -= Integer.parseInt(str[i+1]);
}
}
return answer;
}
}
다른 사람들의 정답
import java.util.Arrays;
class Solution {
public int solution(String myString) {
// -부호 바로 뒤의 공백을 없애 부호를 가진 숫자로 인식시킨다
// +부호는 없애 숫자로 인식시킨다
// trim으로 문자열 앞뒤의 공백을 제거하고
// " "으로 쪼갠 후 int타입으로 변경 후 더한다
return Arrays.stream(myString.replaceAll("- ", "-").replaceAll("[+] ", "").trim().split(" "))
.mapToInt(Integer::parseInt)
.sum();
}
}
Share article