문제 링크
https://www.acmicpc.net/problem/1543
1543번: 문서 검색
세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한
www.acmicpc.net
풀이
const [doc, word] = require("fs").readFileSync("dev/stdin").toString().trim().split("\n");
let idx = 0;
let count = 0;
while (idx < doc.length) {
const newIdx = doc.slice(idx).search(word);
if (newIdx >= 0) {
count++;
idx += newIdx + word.length;
} else break;
}
console.log(count);
문서 내에서 첫 번째 주어진 단어를 찾고 count를 증가시킨다. 그리고 그 단어 바로 다음 내용부터 같은 과정을 반복한다. 만약 주어진 단어가 더 이상 없으면 반복을 종료한다.
String.prototype.search는 찾고자 하는 문자열이 존재하지 않으면 -1을 반환하므로, newIdx가 0 이상이면 주어진 단어가 존재한다.
'연습장 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 1015] 수열 정렬 with Node.js (0) | 2021.05.17 |
---|---|
[백준 1676] 팩토리얼 0의 개수 with Python (0) | 2021.05.17 |
[백준 1654] 랜선 자르기 with Python (0) | 2021.05.15 |
[백준 1302] 베스트셀러 with Node.js (0) | 2021.05.15 |
[백준 15652] N과 M (4) with Python (0) | 2021.05.12 |