알고리즘 연습 사이트
www.hackerrank.com
Day 7:Arrays
7일차 문제는 간단하였다.
배열에 들은 데이터를 역순으로 다시 출력하라는 문제였다.
역순으로 출력하기 위해 배열의 length의 -1 부터 시작하여 0이 될때까지 i를 감소시키면서 loop를 반복하면서 배열의 값을 뒤에서부터 출력해주면 된다.
for(int i = n-1; i>=0 ; i--){
System.out.print(arr[i]);
System.out.print(" ");
}
Day 8:Dictionaries and Maps
자바에서 Map은 key와 value의 쌍으로 데이터를 저장하는 자료구조이다.
사전을 떠올려보면 된다.
동일한 key에 대해 기존의 value를 교체 할 수도 있는데,
map.put("Hi","Bye"); 와 같이 key,value를 저장한 후 기본적으로 map.get("Hi"); 는 Bye값을 리턴하게 된다.
이런 상태에서 다시 map.put("Hi","Bye!!"); 를 넣으면 Hi라는 키값의 value가 Bye!!로 교체되게 된다.
8일차 문제는 전화번호부를 만드는 것이다. 이름을 key, 전화번호를 value로 잡고 map 에 저장한 후에 키값을 이용해 전화번호의 존재 여부를 체크한다.
Scanner in = new Scanner(System.in);
int n = in.nextInt();
Map<String,Integer> map = new HashMap<String,Integer>();
for(int i = 0; i < n; i++){
String name = in.next();
int phone = in.nextInt();
map.put(name,phone);
}
while(in.hasNext()){
String s = in.next();
if(map.get(s) == null){
System.out.println("Not found");
}else{
System.out.println(s+"="+map.get(s));
}
}
in.close();
댓글 없음:
댓글 쓰기