JavaScript/프로그래머스

[프로그래머스/JS] Lv0. a와 b 출력하기 (구조 분해 할당)

동구름이 2024. 6. 21. 15:22

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181951

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


풀이

자바 스크립트에서 구조 분해 할당이라는 개념을 접해보았습니다. 구조 분해 할당은 객체나 배열을 변수로 분해할 수 있게해주는 문법을 말합니다. 

 

예를 들어 아래와 같습니다.

let arr = ["Jeong", "Dong"]

let [lastName, firstName] = arr;

console.log(firstName); //Jeong
console.log(lastName); //Dong

 

이렇게 인덱스를 통해 배열에 접근하지 않아도 값에 접근할 수 있습니다.

 

 

split는 자바에서의 문자열 split() 메서드와 유사한데, 아래처럼 응용할 수도 있습니다.

let [firstName, lastName]  = "Dong Jeong".split(' ');

console.log(firstName); //Dong 
console.log(lastName); //Jeong

 

 

그리고 쉼표를 통해 요소를 무시할 수 있습니다.

let [a, ,c] = ["A", "B", "C", "D"];

alert( c ); // C

 

 

 

위 성질을 이용해 해결한 소스 코드는 아래와 같습니다.

 


소스 코드

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)
});

 

 

만약 배열을 명시한다면 아래와 같습니다.

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
}).on('line', function(line){
    let arr = line.split(' ')
    const [a, b] = arr;
    console.log('a =', a)
    console.log('b =', b)
});

 

 

 

참고자료

https://ko.javascript.info/destructuring-assignment