리트코드 387번
4907 단어 JavaScript알고리즘코딩 테스트JavaScript
나의 풀이
var firstUniqChar = function(s) {
let map = new Map();
for (let i = 0; i < s.length; i++) {
if (map.has(s[i])) {
let a = map.get(s[i]);
a.push(i);
map.set(s[i], a);
} else {
map.set(s[i], [i]);
}
}
for (let x of map.keys()) {
if (map.get(x).length === 1) {
return map.get(x)[0];
}
}
return -1;
};
map을 사용해서 s의 원소가 반복되는지 안되는지 판단하고, 반복되지 않는 원소 중 가장 앞에 있는 것의 index를 리턴한다. 존재하지 않을 경우 -1 리턴
다른 사람의 풀이
맵을 사용하지 않고 object를 사용해서 푼 사람도 있다. 풀이 자체는 거의 비슷하다.
Author And Source
이 문제에 관하여(리트코드 387번), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@htogether7/리트코드-387번저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)