본문 바로가기

Algorithm/Brute Force

(C++) - LeetCode (easy) 389. Find the Difference

반응형

https://leetcode.com/problems/find-the-difference/description/

 

Find the Difference - LeetCode

Can you solve this real interview question? Find the Difference - You are given two strings s and t. String t is generated by random shuffling string s and then add one more letter at a random position. Return the letter that was added to t.   Example 1:

leetcode.com

전수조사 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

정답 변수 ans를 선언합니다.s의 문자와 빈도수를 저장할 map sMap을 선언 해 s의 원소를 순회하며 빈도수를 저장합니다.

📔 풀이과정

1. sMap에 원소가 없다면 추가된 원소이므로 ans에 해당 문자를 저장하고 break 해줍니다.

2. t의 원소들을 순회하며 원소의 빈도수를 하나씩 감소합니다.

📔 정답 출력 | 반환

ans를 반환합니다.


📕 Code

📔 C++

class Solution {
public:
    char findTheDifference(string s, string t) {
        char ans;
        map <char, int> sMap;
        for(auto c : s) sMap[c]++;
        for(auto c : t) {
            if(!sMap[c]) { 
                ans = c;
                break;
            }
            sMap[c]--;
        }
        return ans;
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.