본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 1543/javascript] 접두사 찾기

by tokkiC 2022. 10. 10.

정규표현식을 사용해서 접두어 찾기

시간초과를 해결하기 위해 따로 모아세지말고 조건에 맞을때마다 카운트 후 break 해주었다

https://www.acmicpc.net/problem/14426

 

14426번: 접두사 찾기

문자열 S의 접두사란 S의 가장 앞에서부터 부분 문자열을 의미한다. 예를 들어, S = "codeplus"의 접두사는 "code", "co", "codepl", "codeplus"가 있고, "plus", "s", "cude", "crud"는 접두사가 아니다. 총 N개의 문자

www.acmicpc.net

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) => {
  let [n, m] = inp
    .shift()
    .split(" ")
    .map((el) => Number(el));
  let testarr = [];
  let ans = 0;

  for (let i = n; i < n + m; i++) {
    let temp = new RegExp(`^(${inp[i]})`);
    testarr.push(temp);
  }
  for (let j = 0; j < testarr.length; j++) {
    for (let i = 0; i < n; i++) {
      if (testarr[j].test(inp[i])) {
        ans++;
        break;
      }
    }
  }
  console.log(ans);
};

댓글