본문 바로가기

공부해 codingTest

프로그래머스 JAVA Level 1. 문자열 내 마음대로 정렬하기

Level 1. 문자열 내 마음대로 정렬하기

https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 통과

 

2. 통과 코드

 

3. 문제 해석

주어진 문자열들을 n번째 인덱스에 위치한 문자를 기준으로 오름차순 정렬하고,

n번째 인덱스에 위치한 문자가 같을 경우 문자열 전체를 기준으로 오름차순 정렬하라.

 

4. 풀이

(1) 주어진 문자열을 Map<문자열, n번째 인덱스에 위치한 문자 아스키 코드>로 저장한다.

(2) Map.Entry 메소드를 사용해 key와 value를 가져온다.

(3) Comparator 인터페이스에 있는 compare 메소드를 구현한다.

(4) 아스키 코드 값을 비교해서 오름차순 정렬한다.

(5) 아스키 코드 값이 같을 경우 compareTo 메소드로 key값(해당 문자열 전체) 오름차순 정렬한다.

(6) answer에 담아서 반환한다.