개발 일지
387. First Unique Character in a String (문자열의 첫 번째 고유 문자) C# 본문
코딩 테스트/LeetCode
387. First Unique Character in a String (문자열의 첫 번째 고유 문자) C#
포카리tea 2022. 11. 18. 02:17Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.
문자열 s가 주어질 때, 그 안에서 반복되지 않는 첫 번째 문자를 찾고 해당 인덱스를 반환합니다. 존재하지 않으면 -1을 반환합니다.
예시 1:
입력: s = "leetcode"
출력: 0
예시 2:
입력: s = "loveleetcode"
출력: 2
예시 3:
입력: s = "aabb"
출력: -1
조건:
- s는 영문 소문자로만 구성되어 있습니다.
정답:
public class Solution {
public int FirstUniqChar(string s) {
Boolean[] isChecked = new Boolean[26];
for (int i = 0; i < s.Length; i++)
{
int index = s[i] - 'a';
if (isChecked[index]) continue;
if (!isChecked[index] && s.IndexOf(s[i], i + 1) < 0)
{
return i;
}
isChecked[index] = true;
}
return -1;
}
}
해설:
bool 배열을 만들고 한번씩 탐색해가며 해당 번째의 알파벳 위치에 저장해 주었습니다. (ex: s[i]가 a라면 isChecked의 0번 위치에 1추가)
그 이후 이미 저장되 있는 값이라면 continue로 아니라면 그 알파벳 위치 이후부터 탐색 후 없다면 i를 return 해주었습니다.
'코딩 테스트 > LeetCode' 카테고리의 다른 글
374. Guess Number Higher or Lower (숫자가 높은지 낮은지 추측하기) C# (0) | 2022.11.22 |
---|---|
48. Rotate Image (이미지 회전) C# (0) | 2022.11.21 |
26. Remove Duplicates from Sorted Array (정렬된 배열에서 중복 제거) C# (0) | 2022.11.16 |
1544. Make The String Great (문자열 다듬기) C# (0) | 2022.11.14 |
345. Reverse Vowels of a String (문자열의 모음 뒤집기) C# (0) | 2022.11.07 |