Coding challenges are a great resource for learning coding techniques and improve analytical thinking, this is a collection of challenges from different platforms.
Objective
Today we’re expanding our knowledge of Strings and combining it with what we’ve already learned about loops. Check out the Tutorial tab for learning materials and an instructional video!
Task
Given a string, S
, of length N
that is indexed from 0
to N - 1
, print
its even-indexed and odd-indexed characters as 2
space-separated strings
on a single line (see the Sample below for more detail).
Note: 0
is considered to be an even index.
Input Format
The first line contains an integer, T
(the number of test cases).
Each line of the i
of the T
subsequent lines contain a String, S
.
Constraints:
1 <= T <= 10
2 <= length of S <= 10000
Output Format
For each String S[j]
(where 0 <= j <= T-1
), print S[j]
’s even-indexed
characters, followed by a space, followed by S[j]
’s odd-indexed characters.
Sample
input00.txt
2
Hacker
Rank
output00.txt
Hce akr
Rn ak
Explanation
Test Case 0: S = "Hacker"
S[0] = "H"
S[1] = "a"
S[2] = "c"
S[3] = "k"
S[4] = "e"
S[5] = "r"
The even indices are 0
, 2
, and 4
, and the odd indices are 1
, 3
,
and 5
. We then print a single line of 2
space-separated strings; the
first string contains the ordered characters from S
’s even indices (Hce
),
and the second string contains the ordered characters from S
’s odd indices
(akr
).
Test Case 1: S = "Rank"
S[0] = "R"
S[1] = "a"
S[2] = "n"
S[3] = "k"
The even indices are 0
and 2
, and the odd indices are 1
and 3
. We then
print a single line of 2
space-separated strings; the first string contains
the ordered characters from S
’s even indices (Rn
), and the the second
string contains the ordered characters from S
’s odd indices (ak
).
Solution
main.go
package main
import "fmt"
func main() {
var T int
fmt.Scan(&T)
for i := 1; i <= T; i++ {
var S string
fmt.Scan(&S)
l := len(S) / 2
even := make([]rune, 0, l)
odd := make([]rune, 0, l+1)
for j, c := range S {
if j%2 == 0 {
even = append(even, c)
} else {
odd = append(odd, c)
}
}
fmt.Printf("%v %v\n", string(even), string(odd))
}
}
Privacy policy
This site does not use third-party tracking cookies!
If you use private source products, worrying about privacy and using this products is like worrying about global warming and not recycling.. So just don’t.. 😒