본문 바로가기
알고리즘/프로그래머스(JAVA)

[JAVA-120902] 문자열 계산하기

by 썬키 2023. 1. 30.
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

링크를 클릭하면 해당 문제로 이동합니다.

 

 

출처 : 프로그래머스

 


 

1. 접근하기

이 문제는 사실 입출력 예시만 잘 확인하면 너무나 쉽게 해결할 수 있는 문제이다.

문자열 my_string은 '피연산자1 연산자 피연산자2' 로 구성되어 있는데

이 문자열을 split(" ")를 이용하여 문자를 분리한 후, String 배열에 담아서 풀어나가면 된다.

 

TO-DO
1. split 메소드를 이용해서 문자열을 피연산자1, 연산자, 피연산자2로 구분하기
2. for문을 이용해서 인덱스 번호가 1, 3, 5, ... 에 속하는 문자열이 +,- 인지 구분해서 계산하기

 

2. 코드

class Solution {
    public int solution(String my_string) {
        String[] strArr = my_string.split(" ");
        int answer = Integer.parseInt(strArr[0]);
        
        for(int i = 1; i < strArr.length; i=i+2) {
            if(strArr[i].equals("+")) {
                answer += Integer.parseInt(strArr[i+1]);    
            } else answer -= Integer.parseInt(strArr[i+1]);
        }
        
        return answer;
    }
}

 

3. 결과

 

 4. 리뷰

사실 이 문제를 거의 2시간 정도 잡고 있었다. 코딩 테스트 문제를 풀 때 30분 정도 고민해보는게 좋다는데

이 문제는 그냥 내 힘으로 한 번 풀어보겠다! 하는 오기가 발동했던 거 같다. 결과는 처참히 실패,,,😭

그러고 나서 다른 사람의 풀이를 봤는데 내가 간과했던 부분이 입력 예시였다.

나는 무조건 입력이 "3+4-n+n..." 이렇게 붙어서 들어오는줄 알고 이걸 어떻게 분리한담...?

하면서 여러 방법을 시도해봤는데... 시도는 좋았지만 앞으로 문제와 입출력 예를 더 잘보고 풀어야겠다고 생각했다. 

 

댓글