62. Valid Anagram

eunseo kim 👩‍💻·2021년 2월 27일
0

🎯 leetcode - 242. Valid Anagram


🤔 나의 풀이1 (정렬을 이용한 비교)

📌 문제

- 파이썬 알고리즘 인터뷰 62번 문제
- 주어진 문자열이 애너그램인지 판별하라.
- 애너그램(Anagram) : 어떠한 단어의 문자를 재배열하여 다른 뜻을 가지는 다른 단어로 바꾸는 것

📌 날짜

2020.02.27

📌 시도 횟수

1 try

💡 Code

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        return sorted(s) == sorted(t)

💡 문제 해결 방법

- 엄청 간단한 풀이!
- 파이썬의 내장 정렬 함수를 사용했다.

💡 새롭게 알게 된 점

- 

❌ (한번에 맞추지 못한 경우) 오답의 원인

-

😉 나의 풀이2 (한개의 dict 사용하기)

💡 Code

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        word_dict = defaultdict(int)
        for char in s:
            word_dict[char] += 1
        for char in t:
            word_dict[char] -= 1

        for n in word_dict.values():
            if n != 0:
                return False
        return True

💡 문제 해결 방법

- 해시를 사용하면 위의 방법보다 좀 더 빠르게 풀 수 있지 않을까 생각했다.
(엄청 조금 빨라진다. 파이썬 기본 내장 sorted도 나름 빨라서..)
- 하나의 딕셔너리만 사용하는 방법으로 풀었다.
- 쉬운 문제라서 코드만 봐도 이해가 된다.

💡 새롭게 알게 된 점

-
profile
열심히💨 (알고리즘 블로그)

0개의 댓글