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 |