2024년 1월 13일 (토)
Leetcode daily problem
https://leetcode.com/problems/minimum-number-of-steps-to-make-two-strings-anagram/description/
길이가 같은 두 문자열 s와 t가 주어질 떄,
첫번째 단계에서 t의 문자를 선택하고 이를 다른 문자로 바꿀 수 있.
t를 s의 철자법으로 만들기 위한 최소 단계 수를 반환한다.
String, Hashing
시간 복잡도
공간 복잡도
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