채택완료

프로그래머스 문제인데 혹시 코드설명 부탁드려도 될까요?

https://programmers.co.kr/learn/courses/30/lessons/42586?language=javascript
요 문제인데 제가 실습용(?) 자바 초보자라서 

저거 봐도 잘 모르겠더라구요.

 

 for (let i = 0; i < day.length; i++) {
        answer[day[i]] ? answer[day[i]]++ : answer[day[i]] = 1
    }

 

위 코드가 문제인데 요 코드까지 값이 null, null, 2, 1이런식으로 나옵니다.

if 축약 코드값은데 ++값은 왜 넣으며.. =1은 왜.. 하는것인지.

혹시 쉽게 설명해주실수 있을까요?

 

 

Copy
function solution(progresses, speeds) {
    var answer = [];
    var day = [];
    var i = 0;

    for (i = 0; i < progresses.length; i++) {
        day[i] = Math.ceil(100 - progresses[i]) / speeds[i];
    }
    // 7,3,9

    for (i = 0; i < day.length; i++) {
        day[i] = day[i - 1] > day[i] ? day[i] = day[i - 1] : day[i]
    }
    // 7,7,9

    for (let i = 0; i < day.length; i++) {
        answer[day[i]] ? answer[day[i]]++ : answer[day[i]] = 1
    }

    let result = [];
    for (let key in answer) {
        result.push(answer[key]);
    }
    return result;
}

var sol1 = solution([93, 30, 55], [1, 30, 5]);
var sol2 = solution([95, 90, 99, 99, 80, 99],[1, 1, 1, 1, 1, 1]);

console.log(sol1);
console.log(sol2);
|

답변 1개

감사합니다 도움되었습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고