문제
Return the index of the first character in text that appears exactly once. Case matters.
Implement first_unique_index(text).
Input
text: The text to inspect.
Output
Return the index, or -1 if every character repeats.
제약 조건
0 ≤ length ≤ 100,000
예시
입력:
text = "swiss"
예상 출력:
expected = 1
입력:
std::string text = "swiss";
예상 출력:
long long expected = 1;
입력:
string text = "swiss";
예상 출력:
long expected = 1;
설명
s repeats, w appears once at index 1.
입력:
text = "aabb"
예상 출력:
expected = -1
입력:
std::string text = "aabb";
예상 출력:
long long expected = -1;
입력:
string text = "aabb";
예상 출력:
long expected = -1;
설명
Every character repeats: -1.
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
You need characters that appear exactly once, not just the first different one.
힌트 2
Count all character frequencies first, then find the earliest position with frequency one.
힌트 3
Remember that uppercase and lowercase letters are different characters.
예상 복잡도
O(n) time, O(k) extra space
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.