백준 - 모음의 개수

BooKi·2022년 6월 2일
0

백준

목록 보기
37/64
post-thumbnail

백준 - 모음의 개수

문제

문제

영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 
각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 
각 줄은 최대 255글자로 이루어져 있다.

입력의 끝에는 한 줄에 '#' 한 글자만이 주어진다.

출력

각 줄마다 모음의 개수를 세서 출력한다.

예제 입력 1

How are you today?
Quite well, thank you, how about yourself?
I live at number twenty four.

예제 출력 1

7
14
9

제출

let fs = require('fs')
let a = fs.readFileSync('/dev/stdin').toString()
let inp = a.split(/[?!.]/)
const check = "aeiou"
let ans = ""
for(let i = 0; i<inp.length-1; i++){
  let count = 0
  for(let char of inp[i].toLowerCase()){
    if(check.includes(char)){
      count++
    }
  }
  ans += `${count}\n`
}
console.log(ans)

처음에 문제를 봤을 때 문장의 끝을 알리는 요소가 여러가지인데 어떻게 분기해야할까 생각을 했다

그런데 떠오르지가 않아서 split을 찾아보았다

그러다가 정규식이라는 것을 알게 되었다

이곳에서 찾게되었는데 기억을 못하는 것인지 처음보는 문법이었다

그래서 자세히 찾아봤는데 너무나 생소했고 잘만 사용하면 너무 유용할 것 같았다

정규식을 사용해서 문장을 잘라주었다

for of 반복문을 사용해서 문자열을 하나씩 확인했고 includes() 함수를 사용해서 모음의 개수를 카운트했다

역시 개발은 저런 다양한 함수를 알고있는게 중요한 것 같다

오늘도 새로운 것을 배웠다

profile
성장을 보여주는 기록

0개의 댓글