Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- 1302
- 호이스팅
- javascript
- 자류구조
- 렉시컬 스코프
- 함수 이놈
- Async/Await
- baekjoon
- 1904
- 1236
- 1931
- 함수 선언문
- setTiemOut
- 동적계획법
- 탐욕 알고리즘
- 11047
- 1668
- 1543
- 1568
- 백준
- 유사배열
- 2667
- html5
- 함수 arguments
- 11399
- 함수 parmater
- 배열같은배열아닌너
- event loop
- 9461
- 비동기처리
Archives
- Today
- Total
두치의 개발공부
BaekJoon_1543(문서 검색) 본문
문제
https://www.acmicpc.net/problem/1543
1543번: 문서 검색
세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한
www.acmicpc.net
문제풀이
전체 문자열에서 찾으려는 문자를 찾아야 한다.
전체 문자열에서 index 0부터 시작하여 문자의 길이만큼 잘라서 찾으려는 문자와 같다고 하면 index를 문자의 길이만큼 더하여 오른쪽으로 이동하고,
찾으려는 문자와 같지 않다고 하면 index에 +1을 하여 오른쪽으로 1칸씩 이동하면 된다.
위 과정을 (전체 문자열 - 현재 index > 찾으려는 문자열의 길이) 일 때까지 계속 반복하면 된다.
코드
const answer = (data) => {
const originalData = data[0];
const searchData = data[1];
let result = 0;
let index = 0;
const searchDataLength = searchData.length;
while(originalData.length - index >= searchDataLength ){
// 찾으려는 문자열이 맞으면 문자열의 길이만큼 index 추가
if(originalData.substr(index,searchDataLength) === searchData){
result += 1;
index += searchDataLength;
}
// 찾으려는 문자열이 아니면 +1 만큼 index 추가
else{
index += 1;
}
}
console.log(result);
}
const input = [];
require("readline")
.createInterface(process.stdin, process.stdout)
.on("line", (line) => {
input.push(line);
})
.on("close", () => {
answer(input);
process.exit();
});
코드는 깃헙에서도 확인할 수 있습니다.🤗
https://github.com/duduchi/Algorithm/blob/main/Search/BaekJoon_1543.js
GitHub - duduchi/Algorithm: 알고리즘 이론 및 구현 소스 정리 프로젝트 입니다.
알고리즘 이론 및 구현 소스 정리 프로젝트 입니다. Contribute to duduchi/Algorithm development by creating an account on GitHub.
github.com
'알고리즘' 카테고리의 다른 글
| BaekJoon_1032(베스트셀러) (0) | 2022.06.28 |
|---|---|
| BaekJoon_1568(새) (0) | 2022.06.27 |
| BaekJoon_1541(잃어버린 괄호) (0) | 2022.05.11 |
| BaekJoon_1931(회의실 배정) (0) | 2022.05.10 |
| BaekJoon_11047(동전) (0) | 2022.05.09 |