본문

문자열 내 마음대로 정렬하기 #연습

반응형

 

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

 

 

💡 실행

package com.java.coding.test;

import java.util.Arrays;

public class Run {
	public static void main(String[] args) {
		String[] inputs = { "sun", "bed", "car" };
		
		// [car, bed, sun]
		System.out.println(Arrays.toString(new SortStrings().solution(inputs, 1)));
	}

}

 

💡 풀이

1. 입력받은 String 배열을 사전순으로 정렬

2. n번째 character 비교 → 재정렬

import java.util.Arrays;
import java.util.Comparator;

class SortStrings {
	public String[] solution(String[] str, int n) {
		String[] answer = new String[str.length];

		// str배열 사전식 정렬
		Arrays.sort(str);

		// Comparator객체를 생성하여 n번째 character를 비교한 후 정렬
		Arrays.sort(str, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				char c1 = o1.charAt(n);
				char c2 = o2.charAt(n);

				if (c1 > c2)
					return 1;
				else if (c1 < c2)
					return -1;
				else
					return 0;
			}
		});

		for (int i = 0; i < str.length; i++) {
			answer[i] = str[i];
		}

		return answer;
	}
}

 

 

P.S. Comparable, Comparator 비교

https://server-engineer.tistory.com/808

 

Comparable, Comparator 비교

1. Comparable, Comparator는 왜 사용하는가? int형 배열을 만들면 다음과 같이 Arrays.sort() 메서드를 사용하여 정렬을 할 수 있다. int[] scores = {899, 982, 1090, 982, 1018}; Arrays.sort(scores); System..

server-engineer.tistory.com

 

반응형

공유

댓글