In this HackerRank Slice an Array problem solution In this challenge we have given a list of countries, each on a new line, your task is to read them into an array. Then slice the array and display only the elements lying between positions 3 and 7, both inclusive. Indexing starts from 0.
Input Format
A list of country names. The only characters present in the country names will be upper or lower-case characters and hyphens.
Output Format
Display the sliced portion of the array of country names, with a space between each of them.
Sample Input
Namibia
Nauru
Nepal
Netherlands
NewZealand
Nicaragua
Niger
Nigeria
NorthKorea
Norway
Sample Output
Netherlands NewZealand Nicaragua Niger Nigeria
Explanation
We displayed the sliced portion of the array.
Problem solution.
declare -a Array=() read X while [ "" != $X ] do Array=("${Array[@]}" "$X") read X done echo ${Array[@]:3:5}
Second solution.
#!/bin/bash i=0 while read line do countries[i]=$line ((i++)) done echo ${countries[@]:3:5}
Third solution.
#!/bin/sh sed -n -e '4,8p;' | tr '\n' ' '
Fourth solution.
A=($(cat)) echo ${A[@]:3:5}
0 Comments