코딩테스트

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

코드사냥꾼 2020. 4. 1. 22:58

💡 문제

💡 나의 풀이( 점수 : 100/100 )

import java.util.*;

class Solution {
  public String solution(String s) {
      String answer = "";
      
      char[] array = s.toCharArray();
      
      Arrays.sort(array);
      
      StringBuilder sb = new StringBuilder(new String(array));
      
      // StringBuilder 역순배치
      sb.reverse();
      return sb.toString(); 
  }
}

처음에 버블정렬로 구현할 수 있겠다는 생각을 했지만, 코드가 길어지다보니 여러 함수를 알아보게 되었고 덕분에 비교적 짧은 코드로 구현할 수 있었습니다. 우선, S에 저장된 "Zbcdefg" 를 toCharArray()를 이용해서 char 배열로 만들고 sort()를 사용해서 정렬을 해주었습니다. 마지막으로 StringBuilder의 속성인 reverse()를 사용하면 원하는 값 "gfedcbZ"가 나옵니다.

😤 느낀 점

위의 문제는 여러 함수를 알면 쉽게 풀리는 문제였습니다. 특히, StringBuilder 클래스에 요소를 추가하는 append 함수만 알고있었는데 문자를 역순으로 배치해주는 reverse 함수가 있다는 것을 알게되어 함수의 중요성을 다시 한번 깨닫게 되었습니다. 

 

💡 다른 풀이