728x90

문제

풀이

풀이 1 

  • 인덱스 n 번째 글자를 각 문자열 맨 앞에 추가하여 정렬시키면 자동적으로 n 번째 문자 사전순 정렬 + 나머지 원래 문자열 사전식 정렬 된다. 
  • 하지만 이 방법은 뒤에 나올 다른 방법에 비해 시간이 오래걸린다. 

코드1

풀이2

  • 정렬할 때 Comparator를 사용하는 방법이다. 
  • Comparator는 기본적으로 Object를 매개변수로 사용한다. 따라서 primitive 타입은 wrapper 클래스를 이용해 Object로 만들어서 매개변수로 넘겨야 한다. 
  • C++로 알고리즘 문제를 풀던 당시에 compare 함수를 이용해 sort하는 방식으로 사용하였지만, Java로 사용 언어를 바꾸고 나서 어떻게 하는지 몰라 좋은 예시 코드들을 찾아보았다. 


자바에서 정렬할 때 Comparable 을 상속하는 방법과 Comparator 를 사용하는 방법 등 많은 방법이 있는데, 

여러 방법을 알아둬야 할 것 같다. 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기