노베이스 지방 국비충


JavaScript 진도 훅 들어감

오늘의 쟁점은 Array of Object


Java 랑 비슷하면서도 다른 문법이라 처음엔 헷갈렸는데

언어를 처음 배우듯이 일단 암기하고 

실제로 어떻게 쓰이는지를 계속 보면서 

이해하니까 갑자기 깨우침


마침 프로그래머스 0렙 정주행하다가 모스 부호 해독 문제가 나와서

Java 로 하면 코드 더럽게 짜일 상황인데 

JavaScript 로 하면 쉽게 짤 수 있어서 진도 타이밍 기가 막히다고 생각했음


function solution(letter) {
    answer = "";
    morse = {
        '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
        '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
        '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
        '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
        '-.--':'y','--..':'z'
    };
    deciph = [morse];
    splitedLetter = letter.split(" ");
    for (i = 0; i < splitedLetter.length; i++) {
        answer += deciph[0][splitedLetter[i]];
    }
    return answer;
}




내가 짰지만 진짜 펀하고 쿨하고 섹시한 코드임






studentScore = [];
while (true) {
    obj = {};
    korean = prompt("국어 점수를 입력해주세요, 공백 엔터시 종료");
    if(korean == "") break;
    obj['Korean'] = korean;
    english = prompt("영어 점수를 입력해주세요");
    obj['English'] = english;
    math = prompt("수학 점수를 입력해주세요");
    obj['Math'] = math;
    studentScore.push(obj);
}

document.write("학생들의 이번 중간고사 시험 점수입니다<br><br>");
for(i = 0; i < studentScore.length; i++) {
    sx = studentScore[i];
    document.write(`${i+1}번째 학생 >>> 국어 점수: ${sx['Korean']},
    영어 점수: ${sx['English']}, 수학 점수: ${sx['Math']}<br>`);
}

sumK = 0; sumE = 0; sumM = 0;
for(i = 0; i < studentScore.length; i++) {
    sumK += parseInt(sx['Korean']);
    sumE += parseInt(sx['English']);
    sumM += parseInt(sx['Math']);
}
document.write(`<br><br>국어 총점: ${sumK} 영어 총점: ${sumE} 수학 총점: ${sumM}<br><br>`);

div = studentScore.length;
document.write(`국어 평균: ${parseInt(sumK / div)}
영어 평균: ${parseInt(sumE / div)} 수학 평균: ${parseInt(sumM / div)}`);


이건 과제로 받은 세 과목 점수 입력하고 출력하는거

template literal 은 통일성 때문에 <br> 맘에 안 드는거 빼면 참 좋은듯