180925 TIL Lec2 step2

» 1막, TIL (Today I Learned)

알고리즘 풀기

  • 시저암호
  • 눈 뜨자마자 푸는 알고리즘 문제란…….. 때려버리고 싶다..

step2

  • step2 3번 요구사항 하다가 답이 안나와서 박차고 나가서 맥주마심…
  • 아래까진 했는데…
function sortGrade(data) {
    for (i = 0; i < data.length; i++) {
        for (j = 0; j < data.length; j++) {
            console.log(i+'번 데이터'+data[i])
            console.log(i+''+data[i]['grade']+'    '+j+''+data[j]['grade'])
            if (data[i]['grade'] < data[j]['grade']) {
                // console.log(data[i]['grade']+' < '+data[j]['grade'])
                let temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            } else if (data[i]['grade'] === data[j]['grade'] && data[i]['credit'] > data[j]['credit']) {
                let temp = data[i];
                data[i] = data[j];
                data[j] = temp;
            }
        }
    }
    return data;
}

function print(data) {
    data = sortGrade(data);
    let output = "";
    output += `-----------------------------------------\n`
    for(i=0; i<data.length; i++){
        output += `${data[i]['name']}, ${data[i]['grade']}, ${data[i]['credit']}학점\n`
    }
    output += `-----------------------------------------`;
    return output;
}
  • 일단 A가 A+보다 먼저 출력되는 데 어떻게 수정해야할 지 모르겠고..
  • 이전까지 한 거 다 수정하고 싶은데 막막해서 어디서부터 손대야할 지 모르겠다.