본문 바로가기
반응형

해시2

2019 KAKAO BLIND RECRUITMENT 오픈채팅방 본 풀이는 java 언어를 사용하였습니다. 문제 보러가기 풀이 잘 생각해보면 유저의 아이디는 변하지 않고, 변하는 건 유저의 닉네임이다. 따라서 유저의 아이디 닉네임을 HashMap 으로 저장해놓고, 결과를 출력하기 전에 모든 record 를 순회하면서 HashMap 에 있는 유저의 닉네임으로 변경시켜준 후 결과를 출력하면 쉽게 풀수있다. 먼저 아이디, 닉네임을 저장 할 HashMap 을 하나 만들어준다. Map userIds = new HashMap(); 그 후 record 를 순회하면서 값을 체크해주는데, Leave 의 경우 2 단어 (행동, 아이디) 로 들어오기 때문에 닉네임을 임의로 빈 값으로 지정한다. for (String userInfo : record) { StringTokenizer st .. 2022. 7. 7.
프로그래머스 : 완주하지 못한 선수 본 풀이는 java 언어를 사용하였습니다. 문제 보러가기 풀이 해당 문제는 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. 라는 조건이 있기 때문에, for 문으로 순회하면서 풀면 시간 초과로 실패하게 된다. 따라서 이 문제는 해시 문제로 효율성까지 생각하면서 코드를 작성해야한다. 마라톤 경기에 참여한 선수를 HashMap 에 모두 넣어 준다. 여기서 주의할 점은 중복되는 이름이 있을 수 있기 때문에, 이 부분을 잘 체크해주어야 한다. HashMap 의 key 는 경기에 참여한 선수 이름, value 는 해당 이름의 인원 수 이다. Map map = new HashMap(); for (String name : participant) { if (map.containsKey(name.. 2021. 8. 13.