본문 바로가기

Algorithm/programmers

[Lv 1] 문자열 내림차순으로 배치하기 / JAVA

문제

[ 문제 설명 ]

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

 

[ 제한 사항 ]

  • str은 길이 1 이상인 문자열입니다.

 

 

 

 

풀이

더보기
import java.util.*;

class Solution {
    public String solution(String s){
       
    	String answer = "";
    	char[] arr = new char[s.length()];
    	// 잘라서 배열에 넣기
        for (int i = 0; i < s.length(); i++) {
        	arr[i] = s.charAt(i);
		}
       
        for (int j = 0; j < arr.length-1; j++) {
		
        	for (int i = 0; i < arr.length-1; i++) {
    			if((int)arr[i]<(int)arr[i+1]) {
    				char temp = arr[i];
    				arr[i] = arr[i+1];
    				arr[i+1] = (char)temp;  				
    			}
    		}	
		}
   
        //String.valueOf() 메소드에 매개변수로 char[]를 넣으면, String으로 곧바로 변환해준다
        answer = String.valueOf(arr);
        return answer;      
       
    }
	
}

s를 문자 배열에 넣어주고  for문 두개를 이용하여 내림차순 정렬해준다.

String.valueOf()를 통해 String으로 변환하고 리턴한다.

 

728x90
반응형