본문 바로가기

Algorithm/Programmers

문자열 내림차순으로 배치하기

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항

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

입출력 예

S RETURN
Zbcdefg gfedcbZ

 

소스코드

import java.util.*;
class Solution {
  public String solution(String s) {
      String answer = "";
      String[] str = s.split("");
      Arrays.sort(str,Collections.reverseOrder());
      
      for(String temp : str){
          answer+= temp;
      }
      return answer;
  }

위의 코드는 프로그래머스 기준 평균 속도 35ms

 

소스코드 (java 8)

import java.util.*;
class Solution {
  public String solution(String s) {
      String[] str = s.split("");
      Arrays.sort(str,Collections.reverseOrder());
      return String.join("",str);
  }
}

위의 코드는 프로그래머스 기준 평균 속도 2ms

 

java 8기준 String 클래스에 join 함수를 제공해 String Array to String 변환을 빠르게 처리해준다.. 

 

단지 for 에서 join 함수로 교체했을 뿐인데 속도차이가 ;; 

 

'Algorithm > Programmers' 카테고리의 다른 글

서울에서 김서방 찾기  (0) 2020.01.11
문자열 다루기 기본  (0) 2020.01.11
문자열 내 p와 y의 개수  (0) 2020.01.07
문자열 내 마음대로 정렬하기  (0) 2020.01.07
두 정수 사이의 합  (0) 2020.01.03