알고리즘 풀이

[JAVASCRIPT] 백준 10820번 문제 풀이

Lv1_junior_dev 2023. 4. 15. 12:08

❗ 풀이

 

const input = require('fs').readFileSync('dev/stdin').toString().split("\n");

const inputLength = input.length;

for (let i = 0; i < inputLength; i++) {
    let inputs = input[i].split("");

    if (inputs.length === 0) continue;

    const counts = [0, 0, 0, 0];

    for (let j = 0; j < inputs.length; j++) {
        const char = inputs[j];

        if (char >= 'a' && char <= 'z') {
            counts[0]++;
        } else if (char >= 'A' && char <= 'Z') {
            counts[1]++;
        } else if (char >= '0' && char <= '9') {
            counts[2]++;
        } else if (char === ' ') {
            counts[3]++;
        }
    }
    console.log(`${counts[0]} ${counts[1]} ${counts[2]} ${counts[3]}`);
}
  1. 이중 반복문을 사용하여 각 줄의 문자열을 문자 단위로 나누어 알파벳 소문자, 알파벳 대문자, 숫자, 공백의 개수를 세는 작업을 수행
  2. 각 요소별에 대해 초기값이 0인 배열을 생성
  3. 하나씩 반복하여 각 문자가 어떤 종류의 문자인지 판별하고, 해당되는 요소의 값을 1씩 증가시킴
  4. 결과 출력

❗ 주의사항

*  입력값이 빈 문자열은 안 들어온다는 조건이 필요함............... *