var numJewelsInStones = function (jewels, stones) {
let count = 0;
let s = stones.length;
for (let i = 0; i < s; i++) {
if (jewels.indexOf(stones[i]) >= 0) {
count++;
}
}
return count;
};
.indexOf만 알면 완전 초간단 문제였던 것...
난 또 반복문에 눈이 멀어 보석과 돌을 쪼개고 배열을 만들고 다시 반복문을 돌리고 어쩌구...해서 풀려고 했었다
속성들을 잘 활용하자
indexOf 정리
indexOf는 배열에도 문자열에도 적용할 수 있는 속성이다.
'Blue Whale'.indexOf('Blue'); // returns 0
'Blue Whale'.indexOf('Blute'); // returns -1
해당 값이 비교할 값과 일치하면 0, 그렇지않으면 -1을 반환하는 속성을 이용하면 넘 간단하게...
'Blue Whale'.indexOf('Whale', 0); // returns 5
'Blue Whale'.indexOf('Whale', 5); // returns 5
'Blue Whale'.indexOf('Whale', 7); // returns -1
이 부분은 이해가 좀 안되는걸...뒤의 숫자가 뭘 의미하는지...
'Blue Whale'.indexOf('blue'); // returns -1
대소문자도 구분함
++ 대박사건
리트코드 discuss에 물어봤더니 누가 대답해줬다ㅜㅜㅜㅜ


땡큐 쏘머치...덕분에 split을 쓰면 새로운 배열이 탄생해서 굳이 빈 배열에 집어넣을 필요가 없다는걸 알게 되었어요
const jewelsArr = jewels.split("");
const stonesArr = stones.split("");
이렇게 바꿨더니 내 대답도 맞다 흑흑 오예!