728x90

LeetCode-242

Valid Anagram : info
note : sub

the two strings contain the same letters, but the order of the letters may be different.

        :::python

class Solution: def isAnagram(self, s: str, t: str) -> bool: if len(s)!=len(t): return False for i in s: if i not in t: return False else: t = t.replace(i,'',1) return True

Result : 59ms Memory: 16.8mb

๋ฌธ์ œ ์ดํ•ด

์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด s์™€ t๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s์˜ ๋ฌธ์ž๋ฅผ ์žฌ๋ฐฐ์—ดํ•˜์—ฌ t๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, s์™€ t๋Š” ์•ŒํŒŒ๋ฒณ์˜ ์ข…๋ฅ˜์™€ ๊ฐœ์ˆ˜๊ฐ€ ๋™์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์—์„œ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜์™€ ์ข…๋ฅ˜๊ฐ€ ๋™์ผํ•œ์ง€ ๋น„๊ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‘ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์€์ง€ ํ™•์ธํ•œ ๋’ค, for ๋ฌธ์„ ์ด์šฉํ•ด s ๋ฌธ์ž์—ด์˜ ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด t์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. t์—์„œ ๋ฝ‘์€ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์‚ญ์ œํ•˜๋ฉฐ ๋ฌธ์ž์—ด์ด ๋™์ผํ•œ์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ฝ”๋“œ ๋ถ„์„

์ฃผ์–ด์ง„ ์ฝ”๋“œ์—์„œ๋Š” s์˜ ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด t์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. t์—์„œ ์‚ญ์ œ๋˜๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(n^2)์ด ๋‚˜์˜ค๋ฏ€๋กœ, ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ ๊ธธ์ˆ˜๋ก ์‹คํ–‰ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง‘๋‹ˆ๋‹ค.

์ถ”์ฒœ ์ฝ”๋“œ

๋‹ค์Œ์€ Counter ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ ์ถ”์ฒœ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. Counter ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‘ ๋ฌธ์ž์—ด์—์„œ ์•ŒํŒŒ๋ฒณ์˜ ์ข…๋ฅ˜์™€ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด ๋”•์…”๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๋‘ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋น„๊ตํ•ด ๋‘ ๋ฌธ์ž์—ด์ด ๋™์ผํ•œ์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

class Solution:
    def isAnagram(self, s: str, t: str) -> bool:
        if len(s) != len(t):
            return False
        return collections.Counter(s) == collections.Counter(t)

์ด ์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์ ธ๋„ ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋Š๋ ค์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ฝ”๋“œ ๋˜ํ•œ ์„ ํ˜• ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋ฏ€๋กœ, ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ ๊ต‰์žฅํžˆ ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ ํ•ด์‹œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ž์—ด์˜ ์•ŒํŒŒ๋ฒณ์„ ์นด์šดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ณ ๋ คํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

'๐Ÿข One step' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[phpAdmin]  (0) 2023.07.29
[leetcode-36] Valid Sudoku  (0) 2023.05.18
[leetcode-217] Contains Duplicate  (0) 2023.05.11
How to LeetCode effectively  (0) 2023.05.10
[leetcode-706] Design HashMap  (0) 2023.05.09
๋‹คํ–ˆ๋‹ค