코딩테스트 문제/프로그래머스

[Java] [Level1]문자열 내림차순으로 배치하기 - 프로그래머스

jjjhhhhh 2021. 7. 3. 17:04

문제 설명

 

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

 

제한 사항

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

입출력 예

내 풀이

1. String s의 길이만큼 for문을 돌려 CharAt을 이용해 문자를 나누기

2. ArrayList 에 각 문자들 하나씩 담기 

3. Collections.sort(list, Collections.reverseOrder()); -> 내림차순 정렬

    (Collections.sort(list); -> 오름차순)

4. 내림차순으로 정렬된 char 들을 String answer로 만든 후 리턴

 

import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public String solution(String s) {
    	String answer ="";
    	ArrayList<Character> list = new ArrayList<Character>(); 
        		
        for(int i =0; i< s.length(); i++) {
        	list.add(s.charAt(i));
        }

        Collections.sort(list, Collections.reverseOrder());
        
        for(int i = 0; i<list.size(); i++) {
        	answer += list.get(i);
        }
        
        return answer;
    }
}