함수는 게임당 점수 배열을 입력으로 받고, 두 개의 값으로 구성된 배열을 반환합니다. 첫 번째 값은 마리아가 최고 점수 기록을 깬 횟수, 두 번째 값은 최저 점수 기록을 깬 횟수입니다. 예를 들어, 마리아가 게임에서 [3, 4, 21, 36, 10, 28, 35, 5, 24, 42] 점수를 얻었다면, 그녀는 최고 점수 기록을 4번, 최저 점수 기록은 0번 깼으므로 결과는 [4, 0]이 됩니다.
풀이 :
function breakingRecords(scores) {
let maxScore = scores[0];
let minScore = scores[0];
let maxBreaks = 0;
let minBreaks = 0;
for (let i = 1; i < scores.length; i++) {
if (scores[i] > maxScore) {
maxScore = scores[i];
maxBreaks++;
} else if (scores[i] < minScore) {
minScore = scores[i];
minBreaks++;
}
}
return [maxBreaks, minBreaks];
}
최대, 최저 점수를 저장할 변수를 생성하고 초기값으로 스코어의 첫번째 요소를 할당합니다. for문으로 scores 배열을 순회하면서 최고, 최소 점수와 비교하여 현재 저장되어 있는 최대 점수보다 더 높으면 maxScore를 갱신하면서 maxBreaks를 1 더합니다. 반대로 최소 점수는 저장되어 있는 최소 점수보다 더 낮으면 minScore를 갱신하면서 minBreaks를 1 더합니다
'Fundamentals > Algorithms' 카테고리의 다른 글
[해커랭크] Subarray Division (0) | 2023.12.04 |
---|---|
[해커랭크] camelcase (0) | 2023.11.26 |
[해커랭크] Number Line Jumps (0) | 2023.11.16 |
[해커랭크] Apple and Orange (0) | 2023.11.16 |
[해커랭크] Grading Students (0) | 2023.11.16 |