본문 바로가기
카테고리 없음

문자열 압축

by 박은유 2024. 2. 8.
반응형

설명

알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는

문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오.

단 반복횟수가 1인 경우 생략합니다.

입력

첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다.

출력

첫 줄에 압축된 문자열을 출력한다.

 

import java.util.Scanner;

class Main {

    public String  soulution(String st) {
        String  answer = "";
        st = st + " ";
        int p = 1;

        for (int i = 0; i < st.length()-1; i++) {
            char ch1 = st.charAt(i);
            char ch2 = st.charAt(i + 1);
            if (ch1 == ch2) {
                p++;
            } else {
                answer += ch1;
                if (p>1) {
                    answer +=String.valueOf(p);
                }
                p = 1;
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Main main = new Main();
        Scanner sc = new Scanner(System.in);
        String input = sc.next();
        System.out.println(main.soulution(input));
    }
}
반응형