문제의 저작권은 백준 알고리즘(https://www.acmicpc.net/)에 있습니다
1. 문제

2. 풀이
전체 코드
<javascript />
const solution = (input) => input.split(' ').filter((s) => !!s).length;
require('readline')
.createInterface(process.stdin, process.stdout)
.on('line', (input) => {
console.log(solution(input));
})
.on('close', () => {
process.exit(0);
});
상세 풀이
단어를 구분하는 기준은 띄어쓰기 시작하는 부분부터 끝나는 부분이다. 즉, 빈 공백 ' '으로 split하여 개수를 카운팅하면 된다.
주의할 점으로는 문장의 맨 앞 또는 맨 뒤에 빈 공백이 올 수 있기 때문에, split을 하게되면 빈 공백이 생길 수 있다. 예를들어, 아래와 같다.
<javascript />
['', 'The', 'first', 'character', 'is', 'a', 'blank']
따라서, filter 함수를 사용하여 빈 문자열을 필터링 하는 작업을 한다.
<javascript />
.filter((s) => !!s);
전체 코드
https://github.com/bluemiv/Algorithm/blob/master/baekjoon/nodejs/src/ex01/ex1152.js
GitHub - bluemiv/Algorithm: 알고리즘 풀이
알고리즘 풀이. Contribute to bluemiv/Algorithm development by creating an account on GitHub.
github.com
2.1. 풀이 결과

3. 관련 글
2022.07.21 - [Algorithm/Beakjoon] - jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기
jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기
쉬운 문제는 웹 사이트에서 풀어도 되지만, 복잡한 문제는 여러 경우의 케이스에 대해서 실행해보는 경우가 생긴다. 백준에서는 다른 알고리즘 문제 사이트와 다르게 웹에서 실행해볼수가 없어
memostack.tistory.com
'Algorithm > Beakjoon' 카테고리의 다른 글
백준 1316번 / 그룹 단어 체커 (nodejs 알고리즘 풀이) (0) | 2022.09.01 |
---|---|
백준 2908번 / 상수 (nodejs 알고리즘 풀이) (0) | 2022.08.31 |
백준 2675번 / 문자열 반복 (nodejs 알고리즘 풀이) (0) | 2022.08.29 |
백준 10818번 / 최소, 최대 (nodejs 알고리즘 풀이) (0) | 2022.08.27 |
백준 2941번 / 크로아티아 알파벳 (nodejs 알고리즘 풀이) (0) | 2022.08.25 |