비버놀로지

[Programmers 프로그래머스] 12915 문자열 내 마음대로 정렬하기 본문

ALGORITM/JAVA

[Programmers 프로그래머스] 12915 문자열 내 마음대로 정렬하기

KUNDUZ 2021. 1. 7. 10:44
728x90

programmers.co.kr/learn/courses/30/lessons/12915

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1

programmers.co.kr

stream을 이용해서 풀이를 했다.

stream에 있는 sorted를 이용하였고, 그 안에 람다식을 이용을 해서 두 값을 비교해 준다. 그리고 인덱스 n 번째의 값을 비교를 해주고, 만약에 n번째 값이 같으면 오름차순으로 배열되도록 했다.

 

import java.util.Arrays;


class Solution {
    public String[] solution(String[] strings, int n) {
				Object[] temp = Arrays.stream(strings).sorted((s1, s2) -> {
			if (s1.charAt(n) == s2.charAt(n)) {
				return s1.compareTo(s2);
			} else {
				return s1.charAt(n) - s2.charAt(n);
			}
		}).toArray();
		String[] answer=new String[temp.length];
		for (int i = 0; i < temp.length; i++) {
			answer[i]=(String) temp[i];
		}
        return answer;
    }
}
728x90
Comments