뭐라도 배우면 기록하자

[알고리즘 문제풀이] 문자열 내림차순으로 배치하기 본문

프로그래밍언어공부/Java

[알고리즘 문제풀이] 문자열 내림차순으로 배치하기

무의욕자 2017. 6. 22. 14:35

문제 및 답안 출처: http://www.tryhelloworld.co.kr


문제


reverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다.
str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요.
str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
예를들어 str이 "Zbcdefg"면 "gfedcbZ"을 리턴하면 됩니다.


public class ReverseStr {

public String reverseStr(String str){

return "";

}


// 아래는 테스트로 출력해 보기 위한 코드입니다.

public static void main(String[] args) {

ReverseStr rs = new ReverseStr();

System.out.println( rs.reverseStr("Zbcdefg") );

}

}


다른 사람의 답


import java.util.Arrays;

public class ReverseStr {
    public String reverseStr(String str){
    char[] sol = str.toCharArray();
    Arrays.sort(sol);
    return new StringBuilder(new String(sol)).reverse().toString();
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        ReverseStr rs = new ReverseStr();
        System.out.println( rs.reverseStr("Zbcdefg") );
    }
}


Arrays API에서 sort()까지 지원하는군요! 더불어 StringBuffer와 StringBuilder에 대해서도 학습할 수 있었습니다.

StringBuffer와 StringBuilder는 같은 기능을 가지고 있지만 동기화 기능은 StringBuffer에서만 지원한다는 점이 차이점이라고 합니다. 

멀티스레드 환경에서는 StringBuilder보다는 StringBuffer를 사용해야겠네요!!

Comments