[LeetCode] 387. First Unique Character in a String

김민우·2022년 10월 20일
0

알고리즘

목록 보기
45/189

- Problem

387. First Unique Character in a String

주어진 문자열 s에서 유일하게 등장하는 알파벳의 위치를 반환하는 문제이다. 만약 유일한 문자가 없을 경우 -1을 리턴한다.

- 내 풀이

class Solution:
    def firstUniqChar(self, s: str) -> int:
        string_count = collections.Counter(s)
                
        for i in range(len(s)):
            if string_count[s[i]] == 1:
                return i
                
        return -1

counter 모듈을 이용하였다. 여기서 O(n)의 시간 복잡도를 가진다.

문자열 s를 처음부터 돌며 만약 카운트된 값이 1이 있다면 해당 인덱스를 반환한다. 반복문이 끝난 후에도 없다면 -1을 리턴한다.
여기서 최악의 경우 즉, 문자열의 마지막에 유니크한 문자를 발견할 경우 O(n)의 시간 복잡도를 가지게 된다.

- 결과

profile
Pay it forward.

0개의 댓글