문자열 내림차순으로 정렬하기 - 프로그래머스 Java
URL
programmers.co.kr/learn/courses/30/lessons/12917
코딩테스트 연습 - 문자열 내림차순으로 배치하기
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로
programmers.co.kr
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
"Zbcdefg" | "gfedcbZ" |
성공 코드
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
char[] charArr = s.toCharArray();
Arrays.sort(charArr);
answer = new StringBuilder(new String(charArr)).reverse().toString();
return answer;
}
}
① s.toCharArray()
toCharArray() 메서드를 활용하여 파라미터로 넘어온 s를 char단위로 1개씩 쪼개서 char[] charArr 로 return 받습니다.
② java.util.Arrays 를 import하여 Arrays.sort(charArr) 로 문자열을 오름차순으로 정렬합니다. 여기서 따로 return 받지 않아도 charrArr는 오름차순으로 정렬됩니다.
③ 오름차순으로 정렬된 charArr을 StringBulder
를 활용해 answer = new StringBuilder(new String(charArr))
로 받는데 reverse()
메서드를 활용해 오름차순으로 정렬된 문자열을 내림차순으로 다시 정렬해 toString()
메서드로 해당 객체의 정보나 값을 참조하게 한 후 answer로 받아 return
해 줍니다.
다른 사람 코드
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);
}
}
import java.util.Arrays;
import java.util.Collections;
class Solution {
public String solution(String s) {
String[] array = s.split("");
Arrays.sort(array, Collections.reverseOrder());
return String.join("", array);
}
}
StringBuilder / StringBuffer 아래 게시글 참조
2021.03.25 - [Java] - [Java] String / StringBuffer / StringBuilder 사용법 및 차이점 - 불변 문자열, 가변 문자열
[Java] String / StringBuffer / StringBuilder 사용법 및 차이점 - 불변 문자열, 가변 문자열
Java StringBuffer, StringBuilder 사용법 및 차이점 - 자바 동적 문자열 - Java에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있습니다. 연산이 많이 이루어지지 않을 때에는..
devmoony.tistory.com
'개발 기록 > 코딩테스트 풀이 기록' 카테고리의 다른 글
[코딩 테스트] 카카오 크레인 인형 뽑기 게임 (프로그래머스) - Java (1) | 2021.04.06 |
---|---|
[백준 BOJ] 2884번 알람 시계 - Java (알고리즘 : 수학) (0) | 2021.03.27 |
[알고리즘, 코딩 테스트] 문자열 내 p와 y의 개수 (프로그래머스) - Java (0) | 2021.03.25 |
[알고리즘, 코딩 테스트] 가운데 글자 가져오기, substring() - Java / 프로그래머스 (0) | 2021.03.25 |
[알고리즘, 코딩 테스트] 문자열 다루기 기본 Integer.parseInt(), try catch - Java / 프로그래머스 (1) | 2021.03.25 |