CS 일기장

[프로그래머스] 컨트롤 제트 본문

Problem Solving/Programmers

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

덩할 2025. 1. 26. 18:02

 

https://school.programmers.co.kr/learn/courses/30/lessons/120853

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


내가 틀린 이유

이 문제는 생각보다 쉬운 문제였다. 띄어쓰기로 문자열들이 저장 되어 있다는 것 자체가 String이라는 참조 자료형의 split 메소드를 사실상 유도하고 있다고 볼 수 있는 문제였다. 당연하게 아 문자열을 문자로 자른 다음에, 아스키 코드로 접근해서 문제를 풀면 되겠다라고 한 나는 그런 식으로 접근하다가, 그만 아스키 코드는 한 자릿 수 밖에 표현이 되지 않고, char로 자르다 보면, 한 글자씩밖에 되지 않는데, 왜 이런 접근을 했을까하고 창피해지는 접근법이였다. 조금 더 천천히 생각을 하고 코드를 풀어야 겠다. 


풀이

class Solution {
    public int solution(String s) {
        // 문자열을 자를 필요가 있음
        // split 사용
        // String 배열을 담아 split으로 자르고, 그것들을 담는다.
        // 문제는 공백으로 주어졌다.
        
        String[] arr = s.split(" ");
        int answer = 0;
        
        for (int i = 0; i < arr.length; i++) {
            if (arr[i].equals("Z")){
                answer -= Integer.parseInt(arr[i - 1]);
            }
            else {
                answer += Integer.parseInt(arr[i]);
            }
        }
        return answer;
    }
}

String과 Stringbuilder, StringTokenizer등의 메소드 들을 정리하고 문자열에 대한 문제를 접근해도 괜찮을 것 같다.