문자열을 돌며 주어진 특정 문자열을 몇개 가지고 있는지 세는 문제이다
자바스크립트의 indexOf 함수는 첫 인덱스만 알려주므로, for 문을 사용해서 변수i 를 indexOf 함수의 두번째 인자
즉, 검색 시작 위치로 삼고 indexOf 로 -1가 아닌 경우의 인덱스 indexOf 함수의 두번째 인자로 를 갱신해주며
몇번이나 찾았는지를 세어주면 되는 문제이다
https://www.acmicpc.net/problem/11008
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (inp) => {
inp.shift();
let arr = [];
for (el of inp) {
arr.push(el.split(" "));
}
let ans = [];
for (el of arr) {
let cplen = el[1].length;
let cnt = 0;
for (let i = 0; i < el[0].length; i++) {
let pos = el[0].indexOf(el[1], i);
if (pos === -1) {
break;
} else {
cnt++;
i = pos + cplen - 1;
}
}
ans.push(el[0].length - cnt * cplen + cnt);
}
console.log(ans.join("\n"));
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 13915/javascript] 현수의 열기구 교실 (0) | 2022.09.09 |
---|---|
[백준 11650/javascript] 좌표 정렬하기 (0) | 2022.09.07 |
[백준 11660/javascript] 구간 합 구하기 5 (0) | 2022.09.05 |
[백준 1755/javascript] 숫자놀이 (0) | 2022.09.04 |
[백준 10974/javascript] 모든 순열 (0) | 2022.09.03 |
댓글