落書きノート

ふと自分が気になった事を書いてます

Javaで問題を解く

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

// 問題1.6 文字列圧縮

import java.util.Scanner;

class q1_6 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String original = scan.next();
        String answer = String.valueOf(original.charAt(0));
        int cnt = 1;
        for(int i = 1; i < original.length(); i++) {
            if(original.charAt(i) == original.charAt(i - 1))
                cnt++;
            else {
                answer += Integer.toString(cnt);
                answer += String.valueOf(original.charAt(i));
                cnt = 1;
            }
        }
        answer += Integer.toString(cnt);
        if(answer.length() > original.length())
            System.out.println(original);
        else
            System.out.println(answer);
    }
}