HackerRank Java Map Problem Solution In Java
Problem Statement :-
You are given a phone book that consists of people's names and their phone number. After that you will be given some person's name as query. For each query, print the phone number of that person.
Input Format
The first line will have an integer n denoting the number of entries in the phone book. Each entry consists of two lines: a name and the corresponding phone number.
After these, there will be some queries. Each query will contain a person's name. Read the queries until end-of-file.
Constraints:
A person's name consists of only lower-case English letters and it may
be in the format 'first-name last-name' or in the format 'first-name'.
Each phone number has exactly 8 digits without any leading zeros.
Output Format
For each case, print "Not found" if the person has no entry in the phone book. Otherwise, print the person's name and phone number. See sample output for the exact format.
To make the problem easier, we provided a portion of the code in the editor. You can either complete that code or write completely on your own.
See full problem description in HackerRank Website.
Solution :-
import java.util.Map;
import java.util.Scanner;
public class JavaMap {
public static void main(String []argh)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
in.nextLine();
Map<String, Integer> map = new HashMap<>();
for(int i=0;i<n;i++) {
String name = in.nextLine();
int phone = in.nextInt();
map.put(name, phone);
in.nextLine();
}
while(in.hasNext()) {
String s = in.nextLine();
if(map.containsKey(s)) {
System.out.println(s+"="+map.get(s));
}
else {
System.out.println("Not found");
}
}
}
}
- First get total number of entries.
- After put key as name and value as phone number in map using for loop.
- Using while loop get person name as query and check in if condition for name. If same name found in map then print person name with phone number otherwise print Not found.
Comments
Post a Comment