nwd1583   2년 전

const fs = require('fs');
const input = fs.readFileSync('dev/stdin').toString().trim().split('\n');
const N = input.slice(0,1)*1;
const n = +N;
for (i=1; i<n+1; i++){
    const [a,b] = input[i].split(' ').map(v=>+v);
    console.log(`Case #${i}: ${a+b}`);
}

이렇게 하면 잘 풀립니다. 

하지만 아래와 같이 풀었을 때는 풀리지 않는 이유를 모르겠습니다. 

case에 할당하고 a,b를 해체할당 하면 안되는 이유가 뭘까요? 제 생각에는 위의 것이나 아래의 것이다 같다고 생각되는데 말이죠.. 

고수분들의 도움 부탁드립니다!

wizardrabbit   2년 전

case는 switch문에서 쓰이는 예약어입니다! const, for, if 같은 이미 문법적으로 사용되고 있는 단어를 예약어라고 합니다. 이런 예약어들은 이미 기본적으로 부여된 기능이 있기 때문에 변수 선언 등의 다른 용도로 사용할 경우 오류가 발생할 수 있습니다.

예약어를 변수의 이름으로 사용하셔서 오류가 났을 뿐, 논리에는 오류가 없으니, case를 예약어가 아닌 다른 단어로 바꾸신다면 의도하신 결과를 얻으실 수 있을 것입니다.

nwd1583   2년 전

감사합니다 마법토끼님!!

댓글을 작성하려면 로그인해야 합니다.