반응형
☁️ 문제 설명
정수 a, b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.
https://school.programmers.co.kr/learn/courses/30/lessons/181951
☁️ 제한사항
- -100,000 ≤ a, b ≤ 100,000
☁️ 입출력 예
입력 #1
4 5
출력 #1
a = 4
b = 5
☁️ solution.js 1번
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let input = [];
rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
console.log(`a = ${Number(input[0])}\nb = ${Number(input[1])}`);
});
설명:
- line.split(' ') → 입력값을 공백 기준으로 나눠서 배열 input에 저장.
- 배열을 사용하지만 불필요하게 저장 후 꺼내서 쓰는 방식이라 코드가 길어짐.
🚨주의
console.log(`a = ${Number(input[0])}\nb = ${Number(input[1])}`);
여기서 a 앞에 있는 건 따옴표인 ' 이게 아니라 백틱 키인 ` ( '~'과 함께 있는 키)를 눌러야 함!!
한글에서는 ₩ 라고 표시될 수 있음.
☁️ solution.js 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 =', a)
console.log('b =', b)
})
설명:
1. 구조 분해 할당 (const [a, b] = line.split(' '))
- 공백으로 나눈 배열을 변수 a, b에 바로 저장.
2. 더 짧고 직관적: const [a, b] = line.split(' ') 사용으로 코드가 깔끔.
3. Number(a), Number(b)로 변환하지 않으면, 입력된 값이 문자열로 유지됨.
(만약 연산이 필요하면 추가 변환이 필요함.)
☁️ solution.js 2번을 최적화한다면,
// 입력이 숫자가 아닐 시에
const readline = require('readline')
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
}).on('line', function (line) {
const [a, b] = line.split(' ').map(Number) // 숫자로 변환
console.log(`a = ${a}`)
console.log(`b = ${b}`)
})
반응형
'IT > 프로그래머스' 카테고리의 다른 글
[JavaScript/자바스크립트] 프로그래머스 Level.0 - 문자열 출력하기 (0) | 2025.02.14 |
---|
댓글