본문 바로가기
코딩 테스트

[LeetCode] RansomNote (Python)

by zoodi 2025. 1. 15.
728x90

1.Quiz

https://leetcode.com/problems/ransom-note/description/?envType=study-plan-v2&envId=top-interview-150

 

 

2.Solution

magzine 구성 문자로 reansomNote 문자를 만들 수 있는지 true / false 반환하는 문제

다른 사람 풀이를 보니 set 을 사용해서 count 개수로 비교하여 ransomNote 가 magazine 보다 많으면 false 를 반환하도록 했다.

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        for char in set(ransomNote):
            if ransomNote.count(char) > magazine.count(char):
                return False
        return True

 

3.Code

# magazine 구성 문자로 ransomNote 문자를 만들 수 있는지
class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        d = {}
        for i in magazine:
            if i in d:
                d[i] += 1
            else:
                d[i] = 1

        for i in ransomNote:
            if i in d:
                d[i] -= 1
                if (d[i] < 0):
                    return False
            else:
                return False
        return True
728x90

댓글