DEVELOP
프로그래머스 _ 문자열 내 마음대로 정렬하기
JINI_CODER
2019. 11. 19. 18:17
문제 설명
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.
제한 조건
- strings는 길이 1 이상, 50이하인 배열입니다.
- strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
- strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
- 모든 strings의 원소의 길이는 n보다 큽니다.
- 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.
내가 푼 코드... 진짜 멍청하게 풀었다..
comparator 인터페이스를 사용 할 줄 몰라 일단 구글에 검색해 문제를 풀고 다른 사람들 코드를 봤다.
comparator 인터페이스를 사용하면 위에 Hashmap은 구지 하지 않아도 되는 코드였다.
다시 comparator 인터페이스 코드를 이해하고 문제를 푸니...
코드가 이렇게 간단해 졌다
n번째의 문자열을 비교해 return해주고, n번째 문자열이 같을 경우는 compareTo를 사용해
다시 사전적 순서로 비교하여 return 해주게 된다.
역시 인터페이스를 많이 아는게 코딩테스트 할 때 도움이 많이 되는거같다..
출처_ 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges