Coding Test/Programmers
[Lv.1] 문자열 내림차순으로 배치하기 [프로그래머스_코딩테스트] [문자열, 정렬] [20분]
whawoo
2025. 6. 10. 15:57
반응형
🔍 문제 요약
https://school.programmers.co.kr/learn/courses/30/lessons/12917
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
알파벳 대문자와 소문자로 이루어진 문자열 s가 주어질 때 해당 문자열을 큰것부터 작은 순으로 정렬시킨 문자열을 반환하는 문제. (대문자가 소문자보다 더 작은 것으로 간주)
🧠 나의 접근 방식과 시행착오
using System;
using System.Collections.Generic;
using System.Text;
public class Solution
{
/// <summary>
/// 문자열 내림차순으로 배치하기
/// https://school.programmers.co.kr/learn/courses/30/lessons/12917
/// </summary>
public string solution(string s)
{
var charList = new List<char>();
charList.AddRange(s);
charList.Sort();
charList.Reverse();
return string.Concat(charList);
}
}
/// <summary>
/// C# 7.3
/// </summary>
internal class Program
{
public static void Main(string[] args)
{
var sl = new Solution();
var s = "Zbcdefg";
Console.WriteLine(sl.solution(s));
}
}
✅ 풀이 코드
피드백을 받은 부분은 list 대신에 array를 사용하면 좀 더 효율을 높일 수 있는 장점이 있다고 해서 코드를 가져왔다. string을 char 배열로 바꾸는 ToCharArray()를 잘 기억해두면 용이하게 쓸 수 있을 것으로 보임. (사실상 성능 차이는 크게 없다고 한다)
public string solution(string s)
{
char[] chars = s.ToCharArray();
Array.Sort(chars);
Array.Reverse(chars);
return new string(chars);
}
🔄 정리
저번에 문제를 풀면서 익혀둔 내림차순 정렬인 Sort + Reverse를 유용하게 사용한 문제. 풀이코드의 ToCharArray는 잘 기억해두기로 하자
반응형