백준6550 - 부분 문자열 (탐욕법) node.js 본문
반응형
https://www.acmicpc.net/problem/6550
문제는 a,b 두 문자열이 주어졌을 때, b에서 몇 개의 문자를 제거한 뒤 순서를 바꾸지 않고 합쳤을 경우, a가 b의 부분 문자열이 되는지 출력하는 문제다.
문제 풀이 방식
a,b 문자열이 존재할 때, 두 개의 포인터를 두어 새로운 문자열을 만든 뒤, 해당 문자열이 짧은 문자열인 a와 일치하는지 확인한 뒤 결과를 리턴하도록 했다.
const fs = require("fs");
const input = fs
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "입력.txt")
.toString()
.trim()
.split("\n");
function solution(data) {
const result = data.map((el) => act(el));
console.log(result.join("\n"));
}
function act(str) {
const [a, b] = str.split(" ");
let left = 0,
right = 0,
txt = "";
while (right < b.length) {
if (a[left] === b[right]) {
txt += a[left];
left++;
}
right++;
}
return a === txt ? "Yes" : "No";
}
solution(input);
반응형
'개발 > algorithm' 카테고리의 다른 글
백준 200일 기념 (0) | 2024.02.18 |
---|---|
프로그래머스 - Lv.3 다단계 칫솔 판매 (트리 | DFS) JS (0) | 2024.02.16 |
백준1308 - D-Day node.js (0) | 2024.02.12 |
백준2891 - 카약과 강풍 (탐욕법) node.js (0) | 2024.02.10 |
백준12847 - 꿀 아르바이트 (누적합) node.js (0) | 2024.02.10 |
Comments