1. 오늘 하루의 정리
코딩테스트 5문제 이상 풀기
2. 코딩테스트
문자열 내림차순으로 정렬하기
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프...
programmers.co.kr
내가 제출한 코드
import java.util.*;
class Solution {
public String solution(String s) {
Character[] chars = new Character[s.length()];
for (int i = 0; i < s.length(); i++) {
chars[i] = s.charAt(i);
}
Arrays.sort(chars, Collections.reverseOrder());
StringBuilder sb = new StringBuilder();
for (char c : chars) {
sb.append(c);
}
return sb.toString();
}
}
가독성을 고려한 코드
class Solution {
public String solution(String s) {
return s.chars() // 문자열을 int 스트림으로 변환
.mapToObj(c -> (char)c) // 각 int 값을 Character로 매핑
.sorted((a, b) -> b.compareTo(a)) // 내림차순 정렬 (대문자는 소문자보다 작으므로 그대로 사용)
.collect(StringBuilder::new,
StringBuilder::append,
StringBuilder::append)
.toString(); // 결과를 문자열로 변환
}
}
댓글