In this post, we will solve String-o-Permute HackerRank Solution. This problem (String-o-Permute) is a part of HackerRank Functional Programming series.
Task
Kazama gave Shaun a string of even length, and asked him to swap the characters at the even positions with the next character. Indexing starts at 0.
Formally, given a string str of length L where L is even, Shaun has to swap the characters at position i and i + 1, where i = {0, 2, . . . , L – 2}.
For example, if str = “abcdpqrs”, L = 8. We have to swap the characters at positions:
{(0, 1), (2, 3), (4, 5), (6, 7)}
So, answer will be “badcqpsr”.
Input Format
The first line contains an integer, T, the number of test cases.
T lines follow, each containing some string str.
Output Format
For each test case, print the new string as explained in the problem statement.
Constraints
- 1 <= T <= 10
- 1 < L <= 105
- L is even
- str consists of lowercase English characters, {a – z}.
Sample Input
2
abcdpqrs
az
Sample Output
badcqpsr
za
Explanation
Test case #00: This is the same example as mentioned in the problem statement.
Test case #01: Here L is 2, so we have to swap the characters at position (0, 1) only.
Solution – String-o-Permute
Scala
import java.util.Scanner object Solution { def main(args: Array[String]): Unit = { val sc = new Scanner(System.in) val t = sc.nextInt sc.nextLine (0 until t).foreach(_ => { val s = sc.nextLine() println(s.grouped(2).map(i => i(1).toString + i(0)).mkString("")) }) } }
Note: This problem (String-o-Permute) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.