logo

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

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

게시글
⏰ 2021-12-16 12:31:37

D O W N

https://user-images.githubusercontent.com/50317129/145976356-6b5d1430-31c0-4c34-829e-6be8f747ab19.png
프로그래머스
이 게시글은 프로그래머스 시리즈의 78개 중 42번 째 게시글입니다.
https://user-images.githubusercontent.com/50317129/260317030-e4b8575b-f09e-47f4-ab70-168a817268c6.png

Table of Contents

https://user-images.githubusercontent.com/50317129/260317030-e4b8575b-f09e-47f4-ab70-168a817268c6.png

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

랭크사용 언어
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();
	}
}

🏷️ Related Tag

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

😍 읽어주셔서 감사합니다!
도움이 되셨다면, 💝공감이나 🗨️댓글을 달아주시는 건 어떤가요?
블로그 운영에 큰 힘이 됩니다!
https://blog.itcode.dev/posts/2021/12/16/programmers-a0042