Closed elizabethgim closed 2 years ago
[100, 1] max = 1
[100, 2] max = 2
[100, 3] max = 3
[90, 1] -> 4 max = 4
[80, 1] -> 5 max = 5
[100, 1]
[100, 2]
[100, 3] max=3 add = 1
[100, 3] max=3 add = 2
[100, 3] max=3 add = 3
[90, 1] -> 6 max + add = 6, max=6, add=0
[80, 1] -> 7
[80, 2] -> 8
[80, 2] -> 8
간단하게 생각하자
for (let i = 1, add = 1, r = 1; i < scores.length; i++, r++) {
if (scores[i].score == scores[i - 1].score) {
if (scores[i].time == scores[i - 1].time) {
add++;
scores[i].rank = scores[i - 1].rank;
} else {
scores[i].rank = scores[i - 1].rank + add;
add = 1;
}
} else {
scores[i].rank = scores[i - 1].rank + add;
add = 1;
}
result.push(scores[i]);
if (r == 10) break;
}
간단하게 생각하자
for (let i = 1, add = 1, r = 1; i < scores.length; i++, r++) { if (scores[i].score == scores[i - 1].score) { if (scores[i].time == scores[i - 1].time) { add++; scores[i].rank = scores[i - 1].rank; } else { scores[i].rank = scores[i - 1].rank + add; add = 1; } } else { scores[i].rank = scores[i - 1].rank + add; add = 1; } result.push(scores[i]); if (r == 10) break; }
변수 r은 굳이 없어도 될 것 같아요!
for ( let i = 1, add = 1; i <= 10; i++) {
if (scores[i].score == scores[i-1].score) {
if (scores[i].time == scores[i-1].time) {
add++;
scores[i].rank = scores[i-1].rank;
} else {
scores[i].rank = scores[i-1].rank + add;
add = 1;
}
} else {
// 여기가 조금 이상한 것 같아요, i보다 한 개 이전 스코어와 다르면 무조건 rank가 1이 되는 게 아니었나용?
// 만약 그게 맞으면, 다음으로 변경해야하지 않나요!
// scores[i].rank = 1;
// add = 1;
scores[i].rank = scores[i - 1].rank + add;
add = 1;
}
result.push(scores[i]);
}