logo

𝝅번째 알파카의 개발 낙서장

screen

[프로그래머스 / JAVA] Level 1 문자열 내림차순으로 배치하기 (12917)

posts

알고리즘

시리즈 톺아보기

프로그래머스

프로그래머스
count

문자열 내림차순으로 배치하기 🔗

랭크 사용 언어
Level 1 JAVA

🔗 문자열 내림차순으로 배치하기

문제 설명 🔗

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항 🔗

  • str은 길이 1 이상인 문자열입니다.

입출력 예 🔗

s return
"Zbcdefg" "gfedcbZ"

풀이 🔗

s의 문자들을 큰 순서대로 정렬하는 함수. 이것저것 따질 것 없이, 각 문자의 ASCII 코드 번호를 비교하면 간단하게 풀 수 있다.

  • A to Z: 65 ~ 90
  • z to z: 97 ~ 122

대문자의 코드값이 소문자보다 작기 때문에, 문제의 조건과 정확히 일치한다.

정렬 시, 문자열의 ASCII 코드값을 받아서 이를 통해 정렬하면 된다.

코드 🔗

JAVA

0import java.util.List;
1import java.util.stream.Collectors;
2
3/**
4 * 문자열 내림차순으로 배치하기 클래스
5 *
6 * @author RWB
7 * @since 2021.12.13 Mon 15:11:19
8 */
9class Solution
10{
11 /**
12 * 해답 반환 메서드
13 *
14 * @param s: [String] 문자열
15 *
16 * @return [String] 해답
17 */
18 public String solution(String s)
19 {
20 List<String> list = s.chars().sorted().mapToObj(Character::toString).collect(Collectors.toList());;
21
22 StringBuilder builder = new StringBuilder();
23
24 for (int i = list.size() - 1; i > -1; i--)
25 {
26 builder.append(list.get(i));
27 }
28
29 return builder.toString();
30 }
31}