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

[백준 4659/javascript] 비밀번호 발음하기

by tokkiC 2022. 9. 30.

문자열이 조건에 부합하는지를 묻는 문제는 정규표현식 문제로 바로 보인다

하지만 3번째 케이스에서 정규표현식으로 표현 기호를 찾지 못해서 시간을 꽤 날렸다

()로 캡쳐된 것을 참조해서 중복으로 여러번 쓰고자 할때

()\반복할숫자

예 )
/(tokki)\1/ === /(tokki)(tokki)/​

위와 같이 사용하면 괄호 안 캡쳐 내용을 중복으로 쓸 수 있다

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

 

4659번: 비밀번호 발음하기

좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp

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) => {
  inp.pop();
  let regex1 = /[aeiou]/;
  let regex2 = /[aeiou]{3}|[^aeiou]{3}/;
  let regex3 = /([a-df-np-z])\1/;
  let ans = [];
  for (el of inp) {
    if (regex1.test(el) && !regex2.test(el) && !regex3.test(el)) {
      ans.push(`<${el}> is acceptable.`);
    } else {
      ans.push(`<${el}> is not acceptable.`);
    }
  }
  console.log(ans.join("\n"));
};

댓글