Open hsskey opened 1 month ago
const fs = require('fs')
const filePath = process.platform === 'linux' ? '/dev/stdin' : `${__dirname}/input.txt`
const input = fs.readFileSync(filePath).toString().split('\n')
for (let item of input) {
if (item === '#') {
break;
}
const matchedArr = item.match(/[aeiou]/gi) ?? [];
console.log(matchedArr.length);
}
모음의 개수
영문 문장을 입력받아 모음의 개수를 세는 프로그램을 작성하시오. 모음은 'a', 'e', 'i', 'o', 'u'이며 대문자 또는 소문자이다.
📝 제약조건
💡 예시
문제 해결 과정
Step1. 문제 이해하기
Input, output 확인
255
글자 이하)이며, 각 줄마다 대소문자, 공백, ',', '.', '!', '?' 등의 특수 문자가 포함될 수 있다.#
은 입력의 끝을 의미.Input size N 확인
N
은 각 문자열의 길이.제약조건 확인
예상할 수 있는 오류 파악
0
이 되어야 한다.0
이 출력되어야 한다.0
을 출력해야 한다."aeiouAEIOU"
같은 문자열이 들어오면 모든 문자가 모음으로 처리되어야 한다.Step 2. 접근 방법
직관적으로 생각하기
Set
자료구조를 사용하여 모음을 빠르게 확인할 수 있다.자료구조와 알고리즘 활용
Set
을 사용하여 모음을 정의하고 각 문자를 빠르게 확인하는 방법을 사용.메모리 사용
Step 3. 코드 설계(의사코드)
#
이 나오기 전까지 모음 개수를 세어 출력한다.Set
을 사용하여 빠르게 확인.Step 4. 코드 구현
Step 5. 문제풀이 형상화(예시)
예시 입력:
"How are you today?"
7
7
엣지 케이스 예시:
""
0
"?!., "
0
"aeiouAEIOU"
10
"bcdfg"
0