3612. Process String with Special Operations I

양성준·2025년 7월 23일

코딩테스트

목록 보기
99/102

문제

https://leetcode.com/problems/process-string-with-special-operations-i/description/

풀이

class Solution {
    public String processStr(String s) {
        StringBuilder sb = new StringBuilder();
        for(char c : s.toCharArray()) {

            if(Character.isAlphabetic(c)) { 
                sb.append(c);
                } else if(c == '#') {
                    sb.append(sb.toString());
                } else if(c == '%') {
                    sb.reverse();
                } else {
                   if (sb.length() > 0) {
                    sb.deleteCharAt(sb.length() - 1);
                   }
                }
        }
        return sb.toString();
    }
}
  • 문자열 연산은 StringBuilder가 훨씬 빠르다. (String으로 연산 시 불변 객체이므로 매번 새로운 String 객체를 만듦)
    • StringBuilder는 내부적으로 가변한 char 배열을 사용 -> 연산 시 기존 배열을 수정
    • deleteCharAt() 특정 위치에 있는 문자열 제거
profile
백엔드 개발자

0개의 댓글