백준 10820 문자열 분석

bkboy·2022년 5월 16일
0

백준 초급

목록 보기
12/80

문제

문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.

각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다

제한 사항

첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.

입출력 예

풀이

let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
if (input[input.length-1] === "") input.pop();
for(let str of input){
    let lower = str.length - str.replace(/[a-z]/g, "").length; 
    let upper = str.length - str.replace(/[A-Z]/g, "").length; 
    let number = str.length - str.replace(/[0-9]/g, "").length; 
    let blank = str.split(" ").length-1;
    console.log(lower,upper, number,blank );
}
  • replace와 정규식을 활용했다.
  • 원래 문자열의 길이에서 소문자를 없앤 문자열의 길이를 빼면 소문자의 갯수이다.
  • 위 원리를 이용해서 숫자의 갯수까지 구했다.
  • 공백의 수는 공백을 기준으로 split해서 -1을 해줬다.
profile
음악하는 개발자

0개의 댓글