[Algorithm] Leetcode_ First Unique Character in a String

JAsmine_log·2024년 4월 30일
0

First Unique Character in a String

Problem

Given a string s, find the first non-repeating character in it and return its index. If it does not exist, return -1.

Example 1:

Input: s = "leetcode"
Output: 0

Example 2:

Input: s = "loveleetcode"
Output: 2

Example 3:

Input: s = "aabb"
Output: -1

Constraints:

  • 1 <= s.length <= 105
  • s consists of only lowercase English letters.

Anaslysis and Solution

  • String s에서 중복되는 것을 체크
  • arr을 생성해서 count 저장
  • s의 문자 중 1번만 출현한 것을 바로 출력

Code

class Solution {
    
    public static int firstUniqChar(String s) {
    
        int[] arr = new int[26];

        for (int i = 0; i < s.length(); i++) {
            int ascii = ((int) s.charAt(i)) - 97;
            arr[ascii]++;
        }

        for (int i = 0; i < s.length(); i++) {
            int ascii=((int) s.charAt(i)) - 97;
            if (arr[ascii] == 1) return i;
        }
        return -1;
    }
}

Tip

  • ascii code 범위 ? a : z = 97 : 122
  • a~z 의 개수 ? 26개
  • String s의 문자에는 s[i]로는 접근할 수 없고,
    s.charAt(i)로 접근해야 한다.
profile
Everyday Research & Development

0개의 댓글