알고리즘 공부/프로그래머스

프로그래머스 코딩테스트 연습 - 연습문제 - 문자열 내림차순으로 배치하기

HRuler 2020. 10. 1. 19:03

1. 문제

문제 설명

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

제한 사항

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

2. 나의 풀이

import java.util.Arrays;
import java.util.Collections;

class Solution {
    public String solution(String s) {
        String [] array = s.split("");
		Arrays.sort(array);
		Collections.reverse(Arrays.asList(array));
		return String.join("", array);
    }
}

1) Collection 클래스

 - Collections 클래스는 여러 유용한 알고리즘을 구현한 메소드들을 제공한다.

 - 이 메소드들은 제네릭 기술을 사용하여 작성되었으며 정적 메소드의 형태로 되어있다. 

 - 자주 사용되는 알고리즘으로는 정렬(Sorting), 섞기(Shuffling), 탐색(Searching) 등이 있다

   언급한 세 메소드의 첫 번째 매개변수는 알고리즘이 적용되는 컬렉션이다.

 - reverse 메소드 : 기존 배열을 역순으로 변환하는 메소드

2) String.join 메소드

 - 기존 문자열에 list 혹은 Array를 순차적으로 추가하는 메소드