[문제]


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




[내 문제 풀이]



public class ReverseStr {
    public String reverseStr(String str) {
        String result ="";
        int x = str.length();
        char[] ar = new char[x];

        for (int i = 0; i < x; i = i + 1) {
            ar[i] = str.charAt(i);
        }

        for (int i = 0; i < x; i = i + 1) {
            for (int j = 1+i; j < x ; j = j + 1) {
                if (ar[i] < ar[j]) {
                    char temp = ar[i];
                    ar[i] = ar[j];
                    ar[j] = temp;

                }
            }
        }

        for(int i = 0; i<x; i=i+1) {
            result = result + ar[i]+"";
        }

        return result;
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    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){
// toCharArray로 배열로 변환
    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") );
    }
}




[버블정렬]


public class ReverseStr {
    public String reverseStr(String str){
    char[] chars = str.toCharArray();
     char temp =' ';

     for(int i = 0; i < str.length(); i++){
         for(int j = 0; j < str.length()-1 ; j++){
             if( chars[j] < chars[j+1]){
                 temp = chars[j];
                 chars[j] = chars[j+1];
                 chars[j+1] = temp;
             }
         }
     }
     str = new String(chars, 0, chars.length);
        return str;
    }

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


'알고리즘' 카테고리의 다른 글

서울에서김서방찾기  (0) 2018.02.22
수박수박수박수박수박수?  (0) 2018.02.22
가운데 글자 가져오기  (0) 2018.01.23
<공부가 더필요 > 삼각형 출력하기  (0) 2018.01.21
역삼각형 출력하기  (0) 2018.01.14

+ Recent posts