View difference between Paste ID: AA0YYqCr and 5LHVRxRe
SHOW: | | - or go back to the newest paste.
1
// Author : Saurav Kalsoor
2-
// Reduce String - JAVA
2+
// Reduce String - KOTLIN
3
4-
import java.util.*;
4+
import java.util.*
5
6-
public class Test {
6+
var sc: Scanner = Scanner(System.`in`)
7
8-
    static Scanner sc = new Scanner(System.in);
8+
fun main() {
9-
    public static void main(String[] args) {
9+
    val n: String = sc.next()
10-
        String n = sc.next();
10+
    println(reduceString(n))
11-
		System.out.println(reduceString(n));
11+
12
13
fun reduceString(originalString: String): String? {
14
    var originalString = originalString
15-
    public static String reduceString(String originalString){
15+
    if (originalString.length <= 2)
16-
		if(originalString.length() <= 2) return originalString;
16+
        return originalString
17-
		
17+
    val newString = ""
18-
		String newString = "";
18+
    originalString = recurse(originalString, newString)
19-
		originalString = recurse(originalString, newString);
19+
    return reduceString(originalString)
20-
		return reduceString(originalString);
20+
21-
	}
21+
22
fun recurse(oldString: String, newString: String): String {
23-
	public static String recurse(String oldString, String newString){
23+
    var oldString = oldString
24-
		if(oldString.isEmpty()) return newString;
24+
    var newString = newString
25
    
26-
		int n = oldString.length();
26+
    if (oldString.isEmpty()) 
27-
		if(n == 1){
27+
        return newString
28-
			return newString + oldString;
28+
29-
		}
29+
    val n = oldString.length
30
    
31-
		int first = oldString.charAt(0) - '0', last = oldString.charAt(n-1) - '0';
31+
    if (n == 1) {
32-
		int sum = first + last;
32+
        return newString + oldString
33
    }
34-
		oldString = oldString.substring(1, n - 1);
34+
    val first = oldString[0] - '0'
35-
		newString += Integer.toString(sum);
35+
    val last = oldString[n - 1] - '0'
36-
		return recurse(oldString, newString);
36+
    val sum = first + last
37-
	}
37+
    oldString = oldString.substring(1, n - 1)
38
    newString += Integer.toString(sum)
39
    return recurse(oldString, newString)
40
}
41
42