• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[코딩시간 01] 3항 연산자로 작성했을 때, 각 값..?

22.08.16 17:03 작성 조회수 149

0

// 짝수 = 2로 나눴을 때 나머지 = 0, 홀수는 아님.
// 각 값을 도출해야 하므로, 불러낼 이름 정해줌
// EVEN, ODD 라는 변수를 0으로 할당.

var EVEN = 0, ODD = 0;

for (var k = 1; k <51; k++){ // 50까지 계산해야하므로, 1부터 50에 해당하도록 구성
    if (k % 2 == 0) {
    console.log((EVEN = EVEN + k)); //짝수인 k값은 50까지 돌면서 누적됨 -> 각 EVEN 값에 할당
    } else {
    console.log((ODD = ODD + k)); //홀수인 k값은 마찬가지로 누적 -> 각 ODD에 할당
    }
}

// 각 값을 도출했으니, 다음은 마지막으로 누적된 값을 도출
// 최종 EVEN / ODD 값

console.log(EVEN);
console.log(ODD);

 

-----------------------------------------------

 

// 3항연산자로 바꿔보기

var EVEN = 0, ODD = 0;

for (k = 1; k < 51; k++){
    (k%2 == 0) ? EVEN += k : ODD += k}
    
console.log('짝입니다', EVEN);
console.log('홀입니다', ODD);

 

-----------------------------------------

다음과 같이 for문에서는 됐는데 3항연산자로 누적값이 아닌 각 홀/짝의 값을 구하는 것을 도통 모르겠습니다.. 3항연산자를 수정하지 않고 구하는 방법은 없을까요?

답변 1

답변을 작성해보세요.

0

이해 안되는 것을 파고들면 지칠 수 있으니 이해되는 선에서 접고 넘어가도 됩니다. 전체를 보면 감이 만들어 질 것이고, 다시 돌아와서 보면 이해가 될 것 같습니다.
우선, 스트레스를 받아 흥미가 떨어지거나 지치는 것을 자신 스스로 컨트롤해야 합니다.

자바스크립트에서 영문 대문자(EVEN, ODD)는 값이 변하지 않는 상수의 시맨틱을 갖고 있습니다. 작성한 코드는 값이 변하므로 소문자를 사용하는 것이 좋습니다. 다른 사람이 질문한 것을 같이 보면 크게 도움이 되며, Q&A에 이와 관련된 코드가 있습니다.

아.. 문제 코드 보다 더 값진 조언을 받았네요, 너무 마음이 조급했던 것 같아요. 

대/소문자 사용에도 주의를 기울여야겠네요, 답변 감사합니다.