From dcada389ca6686fc0787965c4a847203cddaa5fd Mon Sep 17 00:00:00 2001 From: nkey Date: Fri, 10 Jul 2026 10:38:03 +0900 Subject: [PATCH] =?UTF-8?q?easy/strings=20387=20=EC=84=B1=EA=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easy/strings/387.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easy/strings/387.py b/easy/strings/387.py index 68d8f88..e7ee664 100644 --- a/easy/strings/387.py +++ b/easy/strings/387.py @@ -13,9 +13,11 @@ class Solution: """ -걸린 시간: 10:24~ +걸린 시간: 7분 -복잡도: +복잡도: s문자열 전체를 순회하므로 O(n)이고, 빈도 수가 1인 것을 체크할때 O(n), 그 문자의 인덱스를 찾을 때 O(n)이므로 전체 시간복잡도는 O(n)이다. +문자열 s 전체에 대한 빈도수를 세기 때문에 공간복잡도를 O(n)이라고 생각할 수 있지만, 소문자만 나온다고 명시되어 있으므로 최대 26개라서 O(1)이다. -해설: +해설: dict는 순서 기록이 되기 때문에 빈도수를 기록해놓고 처음으로 빈도 수가 1개인 것의 인덱스를 찾으면 O(n)이겠다고 생각이 들었다. +이건 마지막에 index를 찾는 것까지 3번을 순회하지만 빈도수 1개인 것을 찾을 때 Counter 객체가 아닌 s를 순회하면서 인덱스를 기억하면서 확인하면 2번 순회도 가능하다. """ \ No newline at end of file