코딩 공부/Leetcode

[Python] 383. Ransom Note

일하는 공학도 2025. 1. 19. 11:43
728x90

ransomNote에 사용된 알파벳들이 magazine에 전부 사용되었는가? 에 대한 부울함수

 

class Solution(object):
    def canConstruct(self, ransomNote, magazine):
        """
        :type ransomNote: str
        :type magazine: str
        :rtype: bool
        """
        rans = list(ransomNote)
        mag = list(magazine)
        num1 = 0

        for i in range(len(rans)):
            if rans[i] in mag:
                mag.remove(rans[i])
                num1 += 1

        if len(rans) == num1:
            return True
        else:
            return False
  1. ransomNote와 magazine의 리스트를 각각 취해서
  2. ransomNote의 알파벳 하나씩 magazine 리스트에 있는지 확인 후,
  3. 있으면 magazine 리스트에서 제거하고, num1을 1씩 증가
  4. ransomNote의 알파벳 수와 제거된 수(num1)가 동일하면, True

결과는 75ms, 12.6MB로, 다소 효율적이지 않은 code가 나왔다.

728x90