본문 바로가기

PS/릿코드

[릿코드 2186] Minimum Number of Steps to Make Two Strings Anagram II (파이썬/python)

728x90

https://leetcode.com/problems/minimum-number-of-steps-to-make-two-strings-anagram-ii/description/

 

Minimum Number of Steps to Make Two Strings Anagram II - LeetCode

Can you solve this real interview question? Minimum Number of Steps to Make Two Strings Anagram II - You are given two strings s and t. In one step, you can append any character to either s or t. Return the minimum number of steps to make s and t anagrams

leetcode.com

 

s와 t에서 겹치는 문자의 갯수를 구하는것이 우선입니다.

딕셔너리를 이용해서 겹치는것의 갯수를 구했습니다.

(파이썬 collections 의 Counter을 사용해도 무방합니다)

 

그 후 s 와 t 에서 겹치는것의 갯수를 각각 뺀 값을 더해주면 정답을 찾을 수 있습니다.

 

class Solution:
    def minSteps(self, s: str, t: str) -> int:
        same_count = 0
        count_dic = defaultdict(int)

        for char in s:
            count_dic[char] += 1

        for char in t:
            if count_dic[char] and count_dic[char] > 0:
                count_dic[char] -= 1
                same_count += 1

        return len(s) - same_count + len(t) - same_count
728x90