프로그래머스
문자열 내림차순으로 배치하기
업데이트 :: 2018.09.11
문제
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다.
코드
1차풀이
public class Programmers_8 { public String solution(String s) { // == 공간복잡도 늘리기 == Character[] tempArray = new Character[s.length()]; char[] charArray = new char[s.length()]; for(int i=0; i<s.length(); i++) tempArray[i] = s.charAt(i); Arrays.sort(tempArray, Collections.reverseOrder()); // == primitive reverse 불가 == // == Character -> char == for(int i=0; i<tempArray.length; i++) charArray[i] = tempArray[i]; return new String(charArray); } }
- char 배열은 reverse() 처리가 지원되지 않음
- Boxed된 Character 배열로 reverse() 정렬한후 char 배열로 변환
예제
StringBuilder 통한 Reverse
public class ReverseStr { public String reverseStr(String str){ char[] sol = str.toCharArray(); Arrays.sort(sol); return new StringBuilder(new String(sol)).reverse().toString(); } }
Created by MoonsCoding
e-mail :: jm921106@gmail.com
반응형
'CS > 프로그래머스' 카테고리의 다른 글
문제 // Programmers // LEVEL1 // String // 서울에서 김서방 찾기 // Java (0) | 2018.09.11 |
---|---|
문제 // Programmers // LEVEL1 // String // 문자열 다루기 기본 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // String // 문자열 내 p와 y의 개수 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Sort // 문자열 내 마음대로 정렬하기 // Java (0) | 2018.09.11 |
문제 // Programmers // LEVEL1 // Array & Math // 두 정수 사이의 합 // Java (0) | 2018.09.11 |