Click Here to go back to the homepage.

Run-Length Encoding, Run! Solution:


import java.util.Scanner;
import java.math.*;


public class Kattis {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		String arr[] = sc.nextLine().split(" ");
		if(arr[0].equals("E")){
			int counting = 0;
			char curr = 0;
			StringBuilder sb = new StringBuilder();
			for(int i = 0; i < arr[1].length(); i++){
				char temp = arr[1].charAt(i);
				if(temp == curr){
					counting++;
				}
				else{
					if(counting > 0){
						sb.append(counting);
					}
					sb.append(temp);

					curr = temp;
					counting = 1;
					
				}
			}
			sb.append(counting);
			System.out.println(sb.toString());
		}
		else if(arr[0].equals("D")){
			char curr = 0;
			StringBuilder sb = new StringBuilder();
			for(int i = 0; i < arr[1].length(); i++){
				if(arr[1].charAt(i) < '1' || arr[1].charAt(i) > '9'){
					sb.append(""+arr[1].charAt(i));
					curr = arr[1].charAt(i);
				}
				else{
					int idk = Integer.parseInt(""+arr[1].charAt(i));
					while(idk > 1){
						sb.append(""+curr);
						idk--;
					}
				}
			}
			System.out.println(sb.toString());
		}
	}

}