/favicon.ico

itcode.dev

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

2021-12-16 (목) 21:31:37
https://user-images.githubusercontent.com/50317129/145976356-6b5d1430-31c0-4c34-829e-6be8f747ab19.png
프로그래머스

시리즈 모아보기

프로그래머스

42 / 78
랭크사용 언어
Level 1

JAVA

🔗

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

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

  • str은 길이 1 이상인 문자열입니다.
sreturn
"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();
    }
}

Tags

# 프로그래머스
# 알고리즘
# JAVA(자바)
# Level 1