Leetcode

389. Find the Difference

Doromi 2023. 11. 8. 23:43
728x90
반응형
주어진 두 개의 문자열 s와 t에서 t에 추가된 한 문자를 찾는 문제입니다. 이 문제에서 s는 t에 랜덤하게 하나의 문자가 추가된 문자열입니다.

예를 들어, s = "abcd"와 t = "abcde"가 주어진 경우, t에 추가된 문자는 'e'입니다.

이 문제를 해결하는 일반적인 방법은 다음과 같습니다:

문자열 s와 t를 모두 순회하면서 각 문자의 등장 횟수를 카운트합니다. 이를 위해 두 개의 배열이나 딕셔너리를 사용할 수 있습니다.

두 문자열을 비교하면서 s에는 있지만 t에는 없는 문자를 찾습니다. 이 문자가 t에 추가된 문자입니다.
public char FindTheDifference(string s, string t) {
        int[] count = new int[26];
        foreach(char c in s){
            count[c-'a']++;
        }
        foreach(char c in t){
            count[c-'a']--;
        }
        for(int i = 0;i<26;i++){
            if(count[i]<0){
                return (char)('a'+i);
            }
        }
        return ' ';
    }
각 문자의 빈도를 계산하여 추가된 문자를 찾는 방법을 사용합니다. count 배열을 사용하여 각 문자의 등장 횟수를 추적하고, 최종적으로 빈도가 양수인 문자를 반환합니다.
728x90
반응형