[프로그래머스 / JAVA] Level 1 문자열 내림차순으로 배치하기 (12917)
⏰ 2021-12-16 (목) 21:31:37
문자열 내림차순으로 배치하기
랭크 | 사용 언어 |
---|---|
Level 1 |
문제 설명
문자열 s
에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution
을 완성해주세요.
s
는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str
은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
풀이
s의 문자들을 큰 순서대로 정렬하는 함수. 이것저것 따질 것 없이, 각 문자의 ASCII 코드 번호를 비교하면 간단하게 풀 수 있다.
- A to Z: 65 ~ 90
- z to z: 97 ~ 122
대문자의 코드값이 소문자보다 작기 때문에, 문제의 조건과 정확히 일치한다.
정렬 시, 문자열의 ASCII 코드값을 받아서 이를 통해 정렬하면 된다.
코드
JAVA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
import java.util.List; import java.util.stream.Collectors; /** * 문자열 내림차순으로 배치하기 클래스 * * @author RWB * @since 2021.12.13 Mon 15:11:19 */ class Solution { /** * 해답 반환 메서드 * * @param s: [String] 문자열 * * @return [String] 해답 */ public String solution(String s) { List<String> list = s.chars().sorted().mapToObj(Character::toString).collect(Collectors.toList());; StringBuilder builder = new StringBuilder(); for (int i = list.size() - 1; i > -1; i--) { builder.append(list.get(i)); } return builder.toString(); } }
🏷️ 태그
# 프로그래머스
# 알고리즘
# JAVA(자바)
# Level 1
읽어주셔서 고마워요!
도움이 되셨다면, 공감이나 댓글을 달아주시는 건 어떤가요?
블로그 운영에 큰 힘이 됩니다.