프로그래머스 문제인데 혹시 코드설명 부탁드려도 될까요?
본문
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은 왜.. 하는것인지.
혹시 쉽게 설명해주실수 있을까요?
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);
답변을 작성하시기 전에 로그인 해주세요.