본문 바로가기

교육/항해99 클럽 코딩테스트 스터디

99클럽 코테 스터디 6일차 TIL + Map

-오늘의 문제

https://www.acmicpc.net/problem/27160

할리갈리

 

- 오늘의 학습 키워드

   Map, HashMap

 

- 공부한 내용 본인의 언어로 정리하기

 

오늘 문제는 할리갈리이다.

 

1.첫번째 줄에는 몇줄의 입력(명령어)이 들어가는지 입력한다.

2.두번째줄에는 과일이름과 개수가 입력된다.

STRAWBERRY, BANANA, LIME, PLUM

3.입력이 모두 끝났을 때, 해당 과일 이름 뒤에 나온 숫자의 총합이 정확히 5가 되면 YES 아니면 NO를 출력하는 문제이다. 

 

 오늘의 회고
  - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

 

아직 BufferedReader 작성하는 것과 StringTokenizer 사용이 익숙하지 않아서 컴파일 에러가 많이 떴다.

1. StringTokenizer 사용시 숫자 입력을 받을 떄는, Integer.parseInt( ~ ) 를 사용해야된다.


  - 어떻게 해결했는지

처음에는 map으로 key,value값을 넣고 풀려고 했는데, key값이 4개밖에 안되는 상황에서 굳이 라는 생각이 들어서 배열로 풀었다. (그럼 BufferedReader도 안써도 되는거지만..)

다음에는 익숙하지 않은 map도 사용해봐야될 것 같다.

 

Map으로 작성시

 

Map< key의 자료형, value의 자료형 > map = new HashMap<String, Integer>();

 

입력시,  map.put( key, value);

key값으로 value 찾을시, map.get(key);

value값이 해당 값을 가지고 있는지 찾기(true,false return) map.contains(찾는 값);

key와 value 삭제 map.remove(key); 

 

  - 무엇을 새롭게 알았는지

강사님께서 Hash에 대해 강의 해주셨는데 Hash 문제가 나오면 자세히 다뤄보도록 하겠다.