문자열에서 문자의 개수 파악

Seung jun Cha·2022년 12월 15일
0
  • 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하고 문자열을 압축
    ex) AABBCDDD => A2B2CD3
 public String solution(String s) {
        s = s + " ";
        int count = 1;
        String answer = "";
        for (int i = 0; i < s.length() - 1; i++) {
            if (s.charAt(i) == s.charAt(i + 1)) {
                count++;
            } else {
                answer += s.charAt(i);
                if (count > 1) answer += String.valueOf(count);
                count = 1;
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        T.solution(str);
    }
  1. 문자열에 들어가있는 알파벳의 최소 개수는 1개이므로 count는 1로 초기화

  2. 마지막 문자를 비교할 때 i와 i+1을 비교하면 마지막 문자에서 exception이 발생하므로 마지막에 빈 문자를 추가하여 진행

  3. 반복문을 진행할 때, 마지막 빈 문자의 앞까지 진행하기 위해 s.length() -1로 설정

  4. i와 i+1의 문자가 같으면 count는 1증가, 다르면 문자를 합치고 count도 1보다 클 때 문자로 더함

0개의 댓글