C#

백준 C# 1427 문제 풀이

psb08 2024. 10. 31. 08:36
728x90

문제 링크 : https://www.acmicpc.net/problem/1427

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 실버 5 문제 입니다.

문제명 : 소트인사이드

 

내 코드

string str = Console.ReadLine();
int[] arr = new int[str.Length];
string result = "";
for (int i = 0; i < str.Length; i++)
{
    arr[i] = int.Parse(str.Substring(i, 1));
}
Array.Sort(arr);
Array.Reverse(arr);

for (int j = 0; j < str.Length; j++)
{
    result += arr[j].ToString();
}
Console.WriteLine(result);

 

문제 풀이 해석 내용

 

입력 처리

string str = Console.ReadLine();

사용자로부터 문자열을 입력받아 str 변수에 저장합니다. 

이 문자열은 숫자로 구성된 문자열이어야 합니다.

 

 

정수 배열 선언

int[] arr = new int[str.Length];

입력받은 문자열의 길이에 맞춰 정수 배열 arr을 선언합니다. 

이 배열은 각 문자(숫자)를 정수로 변환하여 저장하는 데 사용됩니다.

 

 

문자열을 정수로 변환

for (int i = 0; i < str.Length; i++)
{
    arr[i] = int.Parse(str.Substring(i, 1));
}

for 루프를 통해 각 문자(숫자)를 하나씩 추출하여 정수로 변환하고, 이를 arr 배열에 저장합니다. 

Substring(i, 1) 메소드는 문자열의 i번째 문자를 추출합니다.

 

 

정수 배열 정렬

Array.Sort(arr);
Array.Reverse(arr);

Array.Sort(arr);를 통해 arr 배열을 오름차순으로 정렬합니다.
그 다음 Array.Reverse(arr);를 통해 정렬된 배열을 내림차순으로 뒤집습니다. 

이제 arr에는 숫자가 내림차순으로 정렬되어 있습니다.

 

 

결과 문자열 생성

for (int j = 0; j < str.Length; j++)
{
    result += arr[j].ToString();
}

정렬된 배열의 각 요소를 문자열로 변환하여 result 변수에 추가합니다. 

이렇게 하면 내림차순으로 정렬된 숫자들이 하나의 문자열로 결합됩니다.

 

 

결과 출력

Console.WriteLine(result);

최종적으로 result 문자열을 출력합니다. 

이 문자열은 입력받은 숫자들을 내림차순으로 정렬한 결과입니다.

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 24266 문제 풀이  (2) 2024.11.02
백준 C# 24265 문제 풀이  (0) 2024.11.01
백준 C# 2741 문제 풀이  (0) 2024.10.30
백준 C# 1934 문제 풀이  (0) 2024.10.29
백준 C# 24264 문제 풀이  (0) 2024.10.28