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

⏰ 2021-12-16 (목) 21:31:37

screener
시리즈 모아보기
프로그래머스

42 / 78

Table of Contents

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






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

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

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

읽어주셔서 고마워요!

도움이 되셨다면, 공감이나 댓글을 달아주시는 건 어떤가요?

블로그 운영에 큰 힘이 됩니다.

https://hits.seeyoufarm.com/api/count/incr/badge.svg?count_bg=%23484848&icon=react.svg&icon_color=dodgerblue&title=view&title_bg=%23242424&url=https%3A%2F%2Fblog.itcode.dev%2Fposts%2F2021%2F12%2F16%2Fprogrammers-a0042