[JS/프로그래머스] 기초 Day 2. 출력, 연산

jiyoon·2025년 6월 24일

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'

0개의 댓글