Problem Description :
In this problem you need to complete a method func. The method takes an ArrayList as input. In that ArrayList there is one or more integer numbers, then there is a special string "###", after that there are one or more other strings. A sample ArrayList may look like this:
element[0]=>42
element[1]=>10
element[2]=>"###"
element[3]=>"Hello"
element[4]=>"Java"
You have to modify the func method by editing at most 2 lines
so that the code only prints the elements after the special string "###". For the sample above the output will be:
Hello
Java
Solution :
import java.util.*;
public class Main{
static Iterator func(ArrayList mylist) {
Iterator it = mylist.iterator();
while (it.hasNext()) {
Object element = it.next();
if (element instanceof String)
break;
}
return it;
}
@SuppressWarnings({ "unchecked" })
public static void main(String []args){
ArrayList mylist = new ArrayList();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
for(int i = 0;i<n;i++){
mylist.add(sc.nextInt());
}
mylist.add("###");
for(int i=0;i<m;i++){
mylist.add(sc.next());
}
Iterator it=func(mylist);
while(it.hasNext()){
Object element = it.next();
System.out.println((String)element);
}
}
}
Solution Explanation :
- In while loop, we have to assign next list object if present so add following line.
- Object element = it.next();
- Now we have to return print only string values so we check current element object is String type or not using instanceOf keyword. If current object is String then we break the loop and and return String object.
- Last it print "Hello" and "Java".
Other HackerRank problem and solutions :
- Prime Checker HackeRank Solution in Java with Explanation
- Sales by Match HackerRank Solution in Java
Comments
Post a Comment