알고리즘 문제를 풀다 보면 해당 문제에 맞는 자료구조를 잘 선택해야 한다.
이에 대해 요점만 정리해서 포스팅해본다.


예를 들어
10개의 숫자가 주어지고 이 중에서 랜덤으로 3개를 뽑아 합을 만드는데 합이 될 수 있는 수 중에서 5번째 큰 수를 뽑아라
라는 문제가 있을 때 중복을 허용하지 않으며, 정렬이 필요함으로 TreeSet이 적절하다고 볼 수 있다.
또 다른 예로 anagram 문제가 있다.
abc와 bca 두 단어가 주어졌을 때 정렬 순서는 다르지만 구성이 같은지 판단해야 할 경우
HashMap에 Key를 알파벳으로 Value를 개수로 지정하여 equal비교를 통해 anagram인지 판별할 수 있다.
'PROGRAMMING > JAVA' 카테고리의 다른 글
| [JAVA] Stream을 활용해 Array를 List로 변환하기 (0) | 2021.11.24 |
|---|---|
| [JAVA] Scanner와 BufferedReader (0) | 2021.11.21 |
| [JAVA] Set, List -> Array로 변환 (0) | 2021.11.05 |
| [JAVA] 배열 정렬하기 (내림차순, 오름차순) (0) | 2021.11.04 |
| [JAVA] String Array 를 int Array로 변환하기 (0) | 2021.11.02 |