競プロ・数学を頑張りたい(願望)

競技プログラミングの問題を解いたときや数学に関してのメモにしようと思っています。競プロはAOJを、数学は数検準1を目標で。

ABC#19 B問題「高橋くんと文字列圧縮」

コメント

文字列…(´・ω・`)
文字列操作に慣れていなくて苦手意識ががが。

やったことは、問題文通りに文字列を分割→変換→結合ではなく、文字列sを最初の文字から続く部分を文字と数字に逐次変換して出力した。

ニホンゴムズカシイデス。

コード

import java.util.Scanner;

public class Main {

	void run() {
		Scanner sc = new Scanner(System.in);

		char[] s = sc.next().toCharArray();

		int count = 1;
		for (int i = 0; i < s.length;) {
			char a = s[i];

			int j = i + 1;
			while (j < s.length && s[j] == a) {
				count++;
				j++;
			}
			System.out.print(Character.toString(a) + count);
			count = 1;
			i = j;
		}
		System.out.println();

		sc.close();
	}

	public static void main(String[] args) {
		new Main().run();
	}

}