연습장/백준(BOJ) 문제풀이
[백준 10820] 문자열 분석 with Node.js
Tesseractjh
2021. 4. 3. 20:19
문제 링크
10820번: 문자열 분석
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있
www.acmicpc.net
풀이
const texts = require("fs").readFileSync("/dev/stdin").toString().split("\n");
if (texts[texts.length-1] === "") texts.pop();
texts.forEach(i => {
let d = "";
[/[a-z]/g, /[A-Z]/g, /\d/g, /[ ]/g].forEach(reg => d += i.match(reg) ? i.match(reg).length+" " : "0 ");
console.log(d.slice(0, d.length-1));
});
정규표현식을 활용하여 소문자, 대문자, 숫자, 공백의 개수를 세서 출력하였다.
두 번째 줄은 require("fs".readFileSync("/dev/stdin").toString().split("\n")의 결과로 종종 마지막 요소로 공백("")이 추가된 배열을 반환할 때가 있는데, 이를 감지하여 마지막 요소인 공백을 제거하기 위함이다.