Coding Test/Java Coding Test

[프로그래머스 / 자바] - 문자열 내림차순으로 배치하기

nam_ji 2024. 2. 1. 14:54

문자열 내림차순으로 배치하기

문제

  • 문자열 s가 매개변수로 주어집니다.
  • s는 영문 대소문자로만 이루어져 있습니다.
  • s를 내림차순 정렬하는 문제입니다.


테스트 (이클립스)

  • 우선 s의 각 문자들을 오름차순 정렬할 수 있게 문자 배열로 변환해줍니다. (toCharArray() 이용)
  • 문자 배열을 Arrays.sort() 메소드를 이용하여 오름차순 정렬을 하고
  • String으로 변환해줍니다.
  • String으로 변환된 값을 StringBuilder에 담고 StringBuilder의 reverse() 메소드로 문자열을 뒤집어 주면 문제를 해결할 수 있습니다.
package com.namji.codingtest.level0;

import java.util.Arrays;

public class SortString_in_DescendingOrder {
	public static void main(String[] args) {
		/*
		 * 문자열 s가 매개변수로 주어집니다.
		 * s를 내림차순 정렬한 값을 출력하는 문제입니다.
		 * "Zbcdefg" > "gfedcbZ"
		 */
		String s = "Zbcdefg";
		
		char[] c = s.toCharArray();
		Arrays.sort(c);
		String str = new String(c);
		String answer = new StringBuilder(str).reverse().toString();
		System.out.println(answer);
	}
}


프로그래머스 코드

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        char[] c = s.toCharArray();
        Arrays.sort(c);
        String str = new String(c);
        answer = new StringBuilder(str).reverse().toString();
        return answer;
    }
}