1. 덧셈식 출력하기
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
const [a, b] = line.split(' ');
console.log(a, '+', b, '=', Number(a)+Number(b));
})
2. 문자열 붙여서 출력하기
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
const [a, b] = line.split(' ');
console.log(a + b);
})
💡 다른 사람 풀이
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
const strArr = line.split(' ')
console.log(strArr.join(''))
})
3. 문자열 돌리기
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = [line];
}).on('close',function(){
str = input[0];
for (const char of str){
console.log(char);
}
});
💡 다른 사람 풀이
rl.on('line', function (line) {
input = [line];
}).on('close',function(){
str = input[0];
[...str].forEach(c => console.log(c))
});
- [...str]: 스프레드 연산자를 사용하여 문자열 str을 문자 단위의 배열로 만들어 줌 (그 문자 하나하나가 요소인 배열로)
- forEach: 배열 객체의 메서드. 배열의 각 요소를 순회하면서 콜백 함수 실행 (c는 배열의 각 문자 -> 그 문자를 출력)
- 아래의 코드와 동일한 기능
for (const c of str) {
console.log(c);
}
4. 홀짝 구분하기
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
num = Number(line);
}).on('close', function () {
if (num % 2 == 0) {
console.log(String(num) + ' is even');
} else {
console.log(String(num) + ' is odd');
}
});
💡수정
console.log(num + ' is even');
console.log(`${num} is even`);
- '+'연산에서 숫자와 문자열을 더하면 자동으로 문자열로 변환됨
- 템플릿 리터럴: 자바스크립트에서 문자열을 표현할 때 백틱 기호를 사용해서 문자열 안에 변수나 표현식을 쉽게 삽입하는 방법
`문자열 내용 ${표현식}`
const result = Number(line) % 2 ? 'odd' : 'even'
console.log(line, 'is', result)
console.log(`${line} is ${result}`);
- Number(line) % 2 값이 참(1) → 'odd'
Number(line) % 2 값이 거짓(0) → 'even'