문자열에서 가장 첫번째 unique값을 구하는 문제이다.
처음에 문자열을 탐색하며 나머지값들과 비교했을 때 unique값이면 break를 하도록 코드를 짜 보았는데
class Solution:
def firstUniqChar(self, s: str) -> int:
l = len(s)
for i in range(len(s)-1):
if s[i] not in s[i+1:l]:
return i
break
return -1
"a,a,b,b"애서 막힘
그래서 다시 수정에 수정에 수정을 더해서.. 한 결과
class Solution:
def firstUniqChar(self, s: str) -> int:
l = len(s)
for i in range(len(s)):
if s[i] not in s[:i] and s[i] not in s[i+1:]:
return i
return -1
Runtime: 670 ms, faster than 10.98% of Python3 online submissions for First Unique Character in a String.
Memory Usage: 14.1 MB, less than 58.81% of Python3 online submissions for First Unique Character in a String.
22.06.28 복습
i를 기준으로 앞뒤를 슬라이싱하여 i가 있는지 확인한다는 생각으로 이해하고 풀면 어렵지는 않은 문제이다.