알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄
https://programmers.co.kr/learn/courses/30/lessons/12917
코딩테스트 연습 - 문자열 내림차순으로 배치하기
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로
programmers.co.kr
Think🤔
char 배열로 담아서 거꾸로 출력하면 된다
또는 아스키 코드 값을 비교해서 제일 큰 값이 앞으로 오게하면 된다.
Solution✍
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
char[] ch = s.toCharArray();
Arrays.sort(ch);
for(int i=ch.length; i>0; i--){
answer += ch[i-1];
}
return answer;
}
}
for문쪽 이렇게 살짝 변경 가능
for(int i=ch.length-1; i>=0; i--){
answer += ch[i];
}
StringBuilder 응용 코드
import java.util.Arrays;
class Solution {
public String solution(String s) {
char[] ch = s.toCharArray();
Arrays.sort(ch);
return new StringBuilder(new String(ch,0,ch.length)).reverse().toString();
}
}
Review🤩
StringBuilder reverse를 사용했고 그냥 reverse만 사용하면 문자를 큰 것 부터 작은 것 까지 정렬하는 부분이 없어서,
Array.sort(ch)로 배열을 뒤집었다.
'Algorithm' 카테고리의 다른 글
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2021.12.07 |
---|---|
[프로그래머스] 문자열을 정수로 바꾸기 (0) | 2021.12.06 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2021.12.03 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2021.12.03 |
[프로그래머스] 정수 제곱근 판별 (0) | 2021.12.03 |