https://school.programmers.co.kr/learn/courses/30/lessons/120911
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이1
my_string 문자열을 소문자로 바꾸고, 알파벳 순서대로 정렬한 문자열을 반환해야 한다.
대문자를 소문자로 바꾸려면 우선 대문자와 소문자가 숫자로 몇인지를 알아야 한다.
잘 기억이 안나서 직접 출력해보니, a = 97, z = 122, A = 65, Z = 90이다.
97과 65의 차이는 32이다.
따라서 대문자를 소문자로 바꾸려면 대문자에 32를 빼주고 char형으로 형변환해주면 된다.
코드1 - 정답
using System;
using System.Text;
using System.IO;
public class Solution {
public string solution(string my_string) {
string answer = "";
StringBuilder sb = new StringBuilder();
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
string[] strArray = new string[my_string.Length];
int index = 0;
for(int i = 0; i < my_string.Length; i++)
{
if(65 <= my_string[i] && my_string[i] <= 90)
{
strArray[index++] = $"{(char)(my_string[i] + 32)}";
}
else if(97 <= my_string[i] && my_string[i] <= 122)
{
strArray[index++] = $"{(char)(my_string[i])}";
}
}
Array.Sort(strArray);
foreach(string c in strArray)
{
sb.Append(c);
}
answer = sb.ToString();
sr.Close();
sw.Close();
sb.Clear();
return answer;
}
}
다른 사람 코드1
using System;
using System.Linq;
public class Solution {
public string solution(string my_string) {
string answer = string.Concat(my_string.ToLower().OrderBy(c => c));
return answer;
}
}
string.Concat 메서드는 IEnumerable<T> 타입을 문자열로 바꿔주는 메서드다.
my_string.ToLower().OrderBy(c => c)를 하면 소문자 변환, 사전순 정렬이 된 IEnumerable<T> 타입이 반환되고 이걸 문자열로 바꿔주면 소문자이면서 알파벳 순서로 정렬된 문자열이 된다.
다른 사람 코드2
using System;
using System.Linq;
public class Solution
{
public string solution(string my_string)
{
return new string(my_string.ToLower().OrderBy(x => x).ToArray());
}
}
소문자 변환, 사전순 정렬, 배열로 변환, 문자열로 변환하여 반환해줬다.
new String으로 배열을 문자열로 바꿀 수도 있는 건 처음 알았다.
'자료구조, 코딩테스트 > 정렬(Sort)' 카테고리의 다른 글
| [코딩테스트] Programmers - 문자열 내 마음대로 정렬하기 (실패) (0) | 2026.05.23 |
|---|---|
| [코딩테스트] Programmers - 가장 큰 수 (실패) (0) | 2026.05.22 |
| [코딩테스트] Programmers - K번째수 (실패) (0) | 2026.05.02 |
| [자료구조] Radix Sort (0) | 2026.05.02 |
| [자료구조] Counting Sort (0) | 2026.05.01 |