From d49e0b9453c2be3545af9debd021c3838a51278d Mon Sep 17 00:00:00 2001 From: Rohweini Date: Thu, 23 Apr 2020 09:22:43 +0200 Subject: [PATCH] My solution. --- src/main/java/Solution.java | 49 ++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/src/main/java/Solution.java b/src/main/java/Solution.java index bbc3cb0..7cb7b22 100644 --- a/src/main/java/Solution.java +++ b/src/main/java/Solution.java @@ -1,16 +1,41 @@ import java.util.*; -import java.io.*; -import java.math.*; class Solution { - - public static void main( String[] args ) { - Scanner in = new Scanner( System.in ); - // read values with in.next...() methods - - // code your solution here - - // Write result with System.out.println() - System.out.println( "value" ); - } + + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + // read values with in.next...() methods + int iterations = in.nextInt(); + // code your solution here + String sequence = getSequence(iterations, new StringBuilder("1")); + + // Write result with System.out.println() + System.out.println(sequence); + } + + private static String getSequence(int input, StringBuilder previousSequence) { + if (input == 0) { + return previousSequence.toString(); + } + + int counter = 0; + StringBuilder sequence = new StringBuilder(); + char currentCharacter = previousSequence.charAt(0); + + for (int i = 0; i < previousSequence.length(); i++) { + char character = previousSequence.charAt(i); + if (character != currentCharacter) { + sequence.append(counter) ; //first add the count + sequence.append(currentCharacter); //count follwed by the actual number + counter = 0; + + currentCharacter = character; + + } + counter++; + } + sequence.append(counter) ; //first add the count + sequence.append(currentCharacter); //count follwed by the actual number + return getSequence(input - 1, sequence); + } }