코딩테스트 풀이/JAVA
[LeetCode/Easy] 387. First Unique Character in a String
무지맘
2023. 5. 18. 11:37
1. Input
1) String s
2. Output
1) s의 문자 중 반복되지 않는 첫번째 문자열의 인덱스를 반환
2) 만약 그런 문자가 없다면 -1을 반환
3. Constraint
1) 1 <= s.length <= 10^5
2) s는 영어 소문자로 이루어져 있다.
4. Example
Input: s = "leetcode" -> Output: 0
Input: s = "aabb" -> Output: -1
설명:
- 반복되지 않는 문자는 l, t, c, o, d이며, 이 중 첫번째로 나오는 문자는 l이므로 l의 인덱스인 0을 반환한다.
- 반복되지 않는 문자가 없으므로 -1을 반환한다.
5. Code
1) 첫 코드(2023/05/18)
class Solution {
public int firstUniqChar(String s) {
int ans = -1;
HashMap<Character,Integer> m = new HashMap<Character,Integer>();
for(int i=0 ; i<s.length() ; i++)
m.put(s.charAt(i), m.getOrDefault(s.charAt(i),0)+1);
for(int i=0 ; i<s.length() && ans==-1 ; i++)
if(m.get(s.charAt(i))==1)
ans = i;
return ans;
}
}