문제
나의 생각
문자열내의 숫자는 현재 " " 기준으로 나뉘어져 있으므로 해당 값들을 기준으로 String 배열을 만든다.
중간에 끼워져 있는 연산자들의 기준으로 +, - 할지 지정한다.
나의 답안
public static int solution(String my_string) {
String[] s = my_string.split(" ");
int answer = Integer.parseInt(s[0]);
for (int i = 2; i < s.length; i += 2) {
if ( s[i-1].equals("-")){
answer -= Integer.parseInt(s[i]);
} else {
answer += Integer.parseInt(s[i]);
}
}
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();
}
}
'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글
최빈값 구하기 (0) | 2023.03.06 |
---|---|
평행 (0) | 2023.03.06 |
잘라서 배열로 저장하기 (0) | 2023.03.06 |
컨트롤 제트 (0) | 2023.03.05 |
영어가 싫어요 (0) | 2023.03.02 |