blog.itcode.devblog.itcode.dev

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

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

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

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
RWB0104
@RWBwritten at 2021-12-16 12:31:37
프로그래머스

시리즈 모아보기

프로그래머스

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

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
ship
blog.itcode.dev

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

7.0.5
Developed by RWB since 2021.057th upgraded at 2026.08