문자열 계산하기

문제


나의 생각

문자열내의 숫자는 현재 " " 기준으로 나뉘어져 있으므로 해당 값들을 기준으로 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