387. First Unique Character in a String

늘보·2021년 10월 24일
0

LeetCode

목록 보기
58/69
post-thumbnail

💡 풀이

var firstUniqChar = function (s) {
  let obj = {};

  for (let i = 0; i < s.length; i++) {
    if (obj[s[i]]) obj[s[i]]++;
    else obj[s[i]] = 1;
  }

  let answer = '';

  for (let [key, value] of Object.entries(obj)) {
    if (value === 1) {
      answer = key;
      break;
    }
  }

  return answer ? s.indexOf(answer) : -1;
};

📝 결과

📝 정리

HashMap의 기초 문제라고 볼 수 있다. 중복된 문자가 있다면 obj객체에서 해당 key에 해당하는 value 값은 1보다 클 것이다.

그 후 Object.entries(obj)를 이용한 반복문을 사용해 반복이 되지 않는, 즉 value1key가 있다면 answer 변수에 그 값을 담아주고 break를 통해 반복문을 종료해준다.

이후 indexOf 메서드를 사용해 s에 해당 answer에 해당하는 인덱스가 있다면 그 인덱스를 return하고, 없다면 -1return 해주면 된다.

수정, 지적을 환영합니다!

문제 링크

https://leetcode.com/problems/first-unique-character-in-a-string/

LeetCode GitHub

https://github.com/tTab1204/LeetCode

0개의 댓글

관련 채용 정보