[JAVA/프로그래머스] 컨트롤제트

윤소영·2023년 4월 25일
0

JAVA

목록 보기
12/41

문제

답안 코드

class Solution {
    public int solution(String s) {
        int answer = 0;
        String[] arr = s.split(" ");
        
        for(int i = 0; i < arr.length; i++){
            if(arr[i].equals("Z")){
                arr[i-1] = "0";
                arr[i] = "0";
            }
        }
        for(int j = 0; j < arr.length; j++){
            answer += Integer.parseInt(arr[j]);    
        }
    
        return answer;
    }
}

코드 풀이

string 배열도 배열이다.
처음에는 string 배열을 list로 바꿔줘서 add remove 등을 써보려했더니 list를 다시 string으로 바꾸고 그걸 다시 int형으로 받는 과정에서 계속 오류가 생겼다.(Integer.parseInt를 쓰려고 하면 음수를 받는 과정에서 -를 기호로 받아서 안되는 모양이다.)
그러다가 list를 굳이 쓸 필요가 없다는 걸 깨달았다.
그리고 또 합만 구하면 되는 것이니 특정 원소를 굳이 빼지 않고 그냥 0으로 치환해주기만 하면 되자나!
그래서 결국 풀었지만 난 원소를 빼서 더하고 싶었다.

다른 사람들 풀이를 보니 stack, linkedlist 등 되게 다양하게 풀었더라
이참에 stack을 다시 복습해보려한다.

0개의 댓글