SHOW:
|
|
- or go back to the newest paste.
| 1 | // Author : Saurav Kalsoor | |
| 2 | - | // Transform String - JAVA |
| 2 | + | // Transform String - KOTLIN |
| 3 | ||
| 4 | - | import java.util.*; |
| 4 | + | import java.util.* |
| 5 | ||
| 6 | - | public class Test {
|
| 6 | + | |
| 7 | - | |
| 7 | + | var sc: Scanner = Scanner(System.`in`) |
| 8 | - | static Scanner sc = new Scanner(System.in); |
| 8 | + | |
| 9 | - | public static void main(String[] args) {
|
| 9 | + | fun main() {
|
| 10 | - | String str = sc.next(); |
| 10 | + | val str: String = sc.next() |
| 11 | - | System.out.println(transformString(str)); |
| 11 | + | println(transformString(str)) |
| 12 | } | |
| 13 | ||
| 14 | fun transformString(str: String): String? {
| |
| 15 | - | public static String transformString(String str){
|
| 15 | + | if (str.length == 2) return str |
| 16 | - | if(str.length() == 2) return str; |
| 16 | + | val n = str.length |
| 17 | - | |
| 17 | + | var newStr = "" |
| 18 | - | int n = str.length(); |
| 18 | + | var i = 0 |
| 19 | - | String newStr = ""; |
| 19 | + | while (i < n) {
|
| 20 | - | for(int i = 0; i < n; i += 2){
|
| 20 | + | newStr += if (i == n - 1) {
|
| 21 | - | if(i == n - 1){
|
| 21 | + | str[i] |
| 22 | - | newStr += str.charAt(i); |
| 22 | + | } else {
|
| 23 | - | }else{
|
| 23 | + | getAverage(str[i], str[i + 1]) |
| 24 | - | newStr += getAverage(str.charAt(i), str.charAt(i + 1)); |
| 24 | + | } |
| 25 | - | } |
| 25 | + | i += 2 |
| 26 | - | } |
| 26 | + | |
| 27 | - | return transformString(newStr); |
| 27 | + | return transformString(newStr) |
| 28 | - | } |
| 28 | + | |
| 29 | ||
| 30 | - | public static char getAverage(char a, char b){
|
| 30 | + | fun getAverage(a: Char, b: Char): Char {
|
| 31 | - | int avg = ((a - 'a') + (b - 'a'))/2; |
| 31 | + | val avg = (a - 'a' + (b - 'a')) / 2 |
| 32 | - | return (char)(avg + 'a'); |
| 32 | + | return (avg + 'a'.code).toChar() |
| 33 | - | } |
| 33 | + | |
| 34 |