[프로그래머스] 한 번만 등장한 문자

·2022년 12월 31일
0

프로그래머스

목록 보기
6/59

📌 문제 설명

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

📌 제한 사항

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

📌 입출력 예

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

📌 코드

class Solution {
    public String solution(String s) {
         String [] alpha = {"a","b","c","d","e","f","g","h","i","j","k","l",
        "m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
        int [] num = new int[26];
        String answer = "";
        for(int i=0; i<=25; i++) num[i] = 0;
        for(int i=0; i<s.length(); i++)
        {
            for(int j = 0; j<=25; j++)
            {
                if(alpha[j].equals(s.substring(i, i+1))) num[j]++;
            }
        }
        for(int i=0; i<=25; i++)
        {
            if(num[i] == 1)
                answer = answer.concat(alpha[i]);
        }
        
        return answer;
    }
}

📌 문제 해결 과정

💡 알파벳 하나씩 든 배열 하나와 문자열에서 나타나는 알파벳의 수를 저장할 int형 배열을 하나 만들어 준다

💡 만약 문자열 s에서 하나씩 자른 문자가 어떤 알파벳과 같다면 그 배열 num에서 알파벳과 같은 인덱스의 원소에 +1을 해 준다

💡 위 과정이 끝나면 num 배열의 원소가 1인 것, 즉, 한 번밖에 나오지 않은 알파벳을 answer에 concat()으로 연결을 시켜 준다

벨로그 시작한 지 얼마 되지도 않았긴 하지만 2022 마지막 글이겠네요 다들 새해 복 많이 받으세요! 🙌

profile
공부는 많은 양을 하진 않더라도 꾸준히 매일 하기

0개의 댓글