알고리즘(문자열 내림차순)

2016. 10. 2. 21:27프로그래밍/자바

반응형

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



import java.util.ArrayList;


public class ReverseStr {

public String reverseStr(String str){

String[] a = str.split("");

String sum="";

ArrayList<Character> cc = new ArrayList<Character>();

for (int i = 0; i < a.length; i++) {

cc.add(a[i].charAt(0));

}

for (int i = 0; i < cc.size(); i++) {

for (int j = i ; j < cc.size()-1 ; j++) {

int b = (int)cc.get(i);

int c = (int)cc.get(j+1);

char tmp;

if(b<c) {

tmp=cc.get(i);

cc.set(i, cc.get(j+1));

cc.set(j+1, tmp);

}

}

sum+=cc.get(i);

}

return sum;

}


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

public static void main(String[] args) {

ReverseStr rs = new ReverseStr();

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

}

}


반응형