코딩테스트

[프로그래머스] 짝지어 제거하기_12973

라임온조 2023. 7. 24. 14:27

문제 및 코드

1. 생각

처음에는 자료구조없이 그냥 반복문 하나로 풀려고 했었다

2. 회고

  • 맨 첫 풀이는 아래와 같았다
더보기

int start = 0;
        int end = 2;
        while(true){
            if(start >= s.length() || end >= s.length()+1){
                return 0;
            }
            String temp = s.substring(start, end);
            if(temp.charAt(0) == temp.charAt(1)){
                s = s.replaceAll(temp, "");
                if(s.equals("")){
                    return 1;
                }
                start = 0;
                end = 2;
                continue;
            }
            start += 1;
            end += 1;
        }

  • 그런데 시간초과가 떠서 다른 방법으로 풀어야 함을 깨달았다. 
  • 스택이 떠오르긴 했는데 나는 계속 문자 2개씩을 한 번에 처리하려고 했었다. 하지만 스택으로 하면 문자 하나씩 살펴보면서 처리 가능했다.

3. 체크

풀이 횟수 시간 정답 여부 참고 여부
1 35분   O