str.indexOf()
"ksekkset".indexOf("k") // 0
👉 첫번째로 존재하는 "k"의 인덱스를 반환한다: 0
"ksekkset".indexOf("k", 1) // 3
👉 두번째 인자로 받은 숫자를 인덱스로 하여, 즉 [1]부터 서칭하여 존재하는 "k"의 인덱스를 반환한다: 3
"ksekkset".indexOf("A") // -1
👉 찾는 문자가 존재하지 않을 시에는 -1을 반환한다: -1
function solution(str) {
let answer = "";
for (let i = 0; i < str.length; i++) {
// console.log(str[i], i, str.indexOf(str[i]));
if (str.indexOf(str[i]) === i) answer += str[i];
}
return answer;
}
console.log(solution("ksekkset")); // "kset"
for(let alphabet of str)
of가 아닌 인덱스 i
를 활용할 수 있도록 한다.console.log(str[i], i, str.indexOf(str[i]))
를 확인하면 if문의 조건을 좀 더 쉽게 이해할 수 있다.function solution(s, t) {
let answer = 0;
let position = s.indexOf(t);
while (position !== -1) {
answer++;
position = s.indexOf(t, position + 1);
}
return answer;
}
let str = "COMPUTERPROGRAMMING";
console.log(solution(str, "R")); // 3(str에 "R"은 총 3개 존재)