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

제한 사항
str은 길이 1 이상인 문자열입니다.


입출력 예

s return
"Zbcdefg" "gfedcbZ"

 

기본 제공 코드

public class Solution {
    public string solution(string s) {
        string answer = "";
        return answer;
    }
}

 

이 문제는 조건을 어떻게 줘야 되나 헷갈릴 수 있지만

문제를 잘 읽어보면 이미 모든게 준비되어 있고

배열 메서드를 사용하면 간단하게 풀 수있는 문제이다.

using System;

public class Solution {
    public string solution(string s) {
        string answer = "";
        //문자열을 문자 배열로 만드는 과정
        char[] temp = s.ToCharArray();
        //배열을 정렬해주는 내림차순으로 함수 Array.Sort() 를 사용
        Array.Sort(temp);
        //배열의 순서를 뒤집어 주는 Array.Reverse() 를 사용
        Array.Reverse(temp);
        //문자를 다시 문자열로 변환
        return answer = new string(temp);
    }
}

 

대문자 소문자 뭐 이런말 때문에 괜히 조건을 걸어야 하나 고민하는데 시간쓰는 일 있을 수 있다.

하지만 이미 문제에서 그렇게 간주한다고 해버린 순간 코드 내에서 신경 쓸 필요가 없었던 것이다.

반응형