In this HackerRank Remove the First Capital Letter from Each Element problem solution In this challenge, we practice reading and transforming arrays.

Task

You are given a list of countries, each on a new line. Your task is to read them into an array and then transform them in the following way:

The first capital letter (if present) in each element of the array should be replaced with a dot ('.'). Then, display the entire array with a space between each country's names.

Input Format

The input format consists of a list of country names each on a separate line. The only characters present in the country names will be upper or lower-case characters and hyphens.

Output Format

Transform the names as described and display the entire array of country names with a space between each of them.

HackerRank Remove the First Capital Letter from Each Element problem solution


Problem solution.

a=(`cat $@`)
echo ${a[@]/[A-Z]/.}


Second solution.

n=0
while read c;
do 
    if [ "$c" != "" ]; then
        Country[$n]=$c
        ((n++))
    fi
done
for i in ${!Country[@]}; do
    Country[$i]=".${Country[$i]:1}"
done
echo "${Country[@]}"


Third solution.

i=0
while read line
do
    ary[i]=`echo "${line}" | sed -r 's/^[A-Z]+/./g'`
    ((i++))
done

echo ${ary[@]}


Fourth solution.

ar=()

while read input
do
    ar=("${ar[@]}" "$input")
done
declare -a pattern=( ${ar[@]/[A-Z]/.} )
echo ${pattern[@]}