2024년부터 새롭게 다시 시작하는 코딩테스트

2024년 1월 13일 (토)
Leetcode daily problem

1347. Minimum Number of Steps to Make Two Strings Anagram

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

Problem

길이가 같은 두 문자열 s와 t가 주어질 떄,
첫번째 단계에서 t의 문자를 선택하고 이를 다른 문자로 바꿀 수 있.
t를 s의 철자법으로 만들기 위한 최소 단계 수를 반환한다.

Solution

String, Hashing

Code

Complexicity

시간 복잡도

공간 복잡도


neetcode에서 보는 문자열만 나오면 [0] * 26를 베이스로 하는 문제풀이도 발견했다.

class Solution:
    def minSteps(self, s: str, t: str) -> int:
        cntS = [0] * 26
        cntT = [0] * 26

        for cs in s:
            cntS[ord(cs) - ord('a')] +=1
        
        for ct in t:
            cntT[ord(ct) - ord('a')] +=1

        ans = 0
        for i in range(26):
            ans += abs(cntS[i]-cntT[i])
        
        return ans//2
profile
꿈꾸는 것도 개발처럼 깊게

0개의 댓글