Java/모두의 자바

Chapter 10-59 문자열을 내림차순으로 배치하기

계란💕 2022. 2. 13. 14:34

  Ex) reverseStr메서드는 String형 변수 str을 매개변수로 입력 받는다. str에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 String을 반환하라. str은 영문 대소문자로만 구성됐으며 대문자는 소문자보다 작은 것으로 간주한다.

예를 들어 str이; "Zbcdefg"면 "gfedcbZ"를 반환한다.

<hide/>
package javaStudy;
public class ReverseStr {
	public String reverseStr(String str) {
		char [] chars = str.toCharArray();
		char temp;
		for(int i = 0;i < chars.length; ++i) {
			for(int j = i+ 1; j < chars.length; ++j) {
				if(chars[i] < chars[j]) {
					temp = chars[i];
					chars[i] = chars[j];
					chars[j] = temp;
				}	
			}	
		}
		return new String(chars);
	}
	public static void main(String[] args) {
		ReverseStr rs = new ReverseStr();
		System.out.println(rs.reverseStr("Zbcdefg"));
	}
}

    Note) 실행결과 : gfedcbZ

  - String이 가진 toCharArray()메서드를 이용해 문자 배열은 구합니다. 문자는 정숫값이기도 하므로 배열의 값끼리 서로 비교할 수 있다. 

  - 정렬된 문자 배열을 String 생성자의 파라미터로 전달한 뒤 String 객체를 생성해 반환한다.