문자열에서 반복되는 문자가 아닌 문자 중 첫번째 인덱스를 반환합니다.
Map 에 문자 개수를 저장하고 반복문을 돌며 확인하여 해당 문자의 개수가 1이면 인덱스를 반환합니다.
import java.util.*;
class Solution {
public int firstUniqChar(String s) {
Map<Character, Integer> map = new HashMap<>();
for(int i = 0; i < s.length(); i++) {
char tmp = s.charAt(i);
int count = map.getOrDefault(tmp, 0);
map.put(tmp, count + 1);
}
for(int i = 0; i < s.length(); i++) {
int tmp = map.getOrDefault(s.charAt(i), 0);
if(tmp == 1) {
return i;
}
}
return -1;
}
}