영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.
첫째 줄에 단어의 개수를 출력한다.
The Curious Case of Benjamin Button
6
The first character is a blank
6
//단어의 개수를 구하는 문제
const fs = require("fs")
const input = fs.readFileSync('/dev/stdin').toString().trim().split(' ');
//빈 값일 때 0, 아닐 때 단어의 개수
console.log(input=="" ? 0 : input.length)
처음에 단순히 console.log(input.length)로 해서 계속 틀렸다. 빈 값이 입력되면 1이 출력되므로 0으로 출력되게 해주어야 한다.
동등 연산자(==)
는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환합니다. 일치 연산자(===)
와는 다르게 다른 타입의 피연산자들끼리의 비교를 시도합니다.console.log(1 == 1);
// expected output: true
console.log('hello' == 'hello');
// expected output: true
console.log('1' == 1);
// expected output: true
console.log(0 == false);
// expected output: true
==는 값이 같은지 비교한다. 값이 같다면 타입이 달라도 true
console.log(1 === 1) // true
console.log(1 === '1') // false
console.log(true === 1) // false
console.log(true === 'true') // false
===는 같은 타입인지까지 비교한다. 값이 같아도 타입이 다르면 false.