본문 바로가기
Leetcode

389. Find the Difference

by Doromi 2023. 11. 8.
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
반응형

'Leetcode' 카테고리의 다른 글

455. Assign Cookies  (0) 2023.11.10
144. Binary Tree Preorder Traversal  (0) 2023.11.09
367. Valid Perfect Square  (0) 2023.11.08
350. Intersection of Two Arrays II  (0) 2023.11.07
349. Intersection of Two Arrays  (0) 2023.11.07