[프로그래머스 C#] Lv.0 한 번만 등장한 문자

김병찬·2022년 11월 9일
0

프로그래머스 Lv.0

목록 보기
70/100

🎯문제설명

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.


❌제한사항

  • 0 < s의 길이 < 1,000
  • s는 소문자로만 이루어져 있습니다.

💬입출력 예

sresult
"abcabcadc""d"
"abdc""abcd"
"hello""eho"

💬입출력 예 설명

입출력 예 #1

  • "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.

입출력 예 #2

  • "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.

입출력 예 #3

  • "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.

🔥나의 풀이

using System;
using System.Linq;

public class Solution {
    public string solution(string s) {
        string answer = "";
        int count = 0;
        
        
        for(int i = 0; i < s.Length; i++)
        {
            for(int j = 0; j < s.Length; j++)
            {
                if(s[i] == s[j])
                {
                    count++;
                }
            }
            if(count == 1)
            {
                answer += s[i];
            }
            count = 0;
        }
        // OrderBy()는 요소를 오름차순으로 정렬한다.
        answer = string.Concat(answer.OrderBy(x => x));
        
        // (다른 풀이) Where()는 어떤 조건으로 찾을 것인가 / Count()는 포함된 요소 수를 가져온다. / OrderBy()는 요소를 오름차순으로 정렬한다.
        // answer = string.Concat(s.Where(x => s.Count(y => y == x) == 1).OrderBy(x => x));
        return answer;
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

profile
[중요한건 꺾이지 않는 마음] Unity Developer

0개의 댓글