HashSet 2

해시(Hash)에 대하여

자바로 코딩테스트를 연습하면서 HashMap을 사용해 데이터를 형식으로 저장하거나 HashSet을 사용해 중복되지 않은 값을 저장하는 방식을 가끔씩 사용했었다. 아래는 HashMap과 HashSet의 사용법에 대해 정리해놓은 글이다. https://dong-woo.tistory.com/38 자료형 (Map, Set) - Map (맵) key에 대응되는 value를 가진 관계를 자료형 key value name 홍길동 나이 26 key를 통해 value를 얻는다 --> 하나 하나 모든 것을 확인하지 않고, key값을 통해 바로 value를 얻어낼 수 있다. HashMap이 dong-woo.tistory.com 위 정리글에는 단순히 Map과 Set의 사용법, 즉 데이터가 어떻게 저장되고 메소드의 사용법은 무..

CS 2023.06.11

[Java] 프로그래머스 Level 1 : 완주하지 못한 선수

- 문제설명 & 제한사항 - 예시 & 입출력 예 - 해결과정 해시를 이용하지 않고 이중for문을 통해 푼다면 주어진 제한조건 때문에 최악의 경우 100,000 X 100,000의 시간 복잡도가 발생할 수 있다. HashMap이나 HashSet을 이용해 풀어야 하는데, 동명이인이 있을 수 있다는 점에서 HashSet으로는 문제를 풀 수 없었다. 따라서 HashMap에 형식으로 데이터를 저장하고, 이후 완주자의 배열을 하나씩 불러오면서 동명이인이 없었다면 HashMap에서 아예 지워버리고, 동명이인이 있다면 동명이인의 수를 하나씩 빼주어 업데이트 해주는 방식으로 진행했다. 마지막엔 결국 완주하지 못한 단 한명의 선수가 HashMap에 남게되는데, 해당 키값을 빼오기 위해서 keySet() 메소드를 활용했다...