February 06, 2023
https://www.acmicpc.net/problem/1543
// 입력 정제
const fs = require("fs");
function getInput(caseID) {
const filePath = process.platform === "linux" ? "/dev/stdin" : `./${__dirname.split('\\').pop()}/i${caseID}.txt`;
const input = fs.readFileSync(filePath).toString().split("\n").map(item => item.trim());
input.pop();
const dict = input.shift();
const word = input.shift();
return [dict, word];
}
// 문제
const [dict, word] = getInput(1);
let count = 0;
// 원하는 단어가 있는지를 찾는 함수
function search(idx) {
let i;
// 단어를 찾지 못했으면 원래 위치 반환
for (i = 0; i < word.length; i++) {
if (dict[idx + i] !== word[i]) return idx;
}
// 원하는 단어를 찾았다면 그 단어가 끝나는 부분의 위치 반환
count++;
return idx + i - 1;
}
function solution() {
for (let i = 0; i < dict.length; i++) {
i = search(i);
}
console.log(count);
}
// 실행
solution();