Chapter 7 마무리 테스트
이번 챕터에서 배운 동적 배열 선언, push, pop, length, 그리고 배열과 반복문을 결합한 순회를 하나의 컨트랙트로 엮어 봅니다. 주제는 학생들의 점수를 등록하고 관리하는 점수 명부입니다.
이 테스트에서 종합하는 개념
동적 배열선언과publicgetterpush로 점수 추가,pop으로 마지막 점수 제거length로 등록된 점수 개수 세기for반복문으로 배열을 순회하며 최댓값 찾기
마지막 highest 함수는 값을 그대로 읽어 오는 것이 아니라 직접 계산해야 합니다. 누적 변수를 0으로 두고 배열을 처음부터 끝까지 돌면서, 지금까지의 최댓값보다 큰 값을 만날 때마다 갱신하면 됩니다.
점수가 하나도 없는 빈 배열에 pop을 호출하면 revert됩니다. 또한 highest를 빈 배열에서 호출하면
초기값 0이 반환된다는 점도 함께 생각해 보세요.
이 차시에서 배운 배열 개념을 모두 활용해 학생 점수 명부 컨트랙트를 완성하세요.
해야 할 일:
ScoreBoard컨트랙트를 선언하세요.scores라는uint256[]public 동적 배열을 선언하세요.addScore(uint256 score)함수: 점수를scores끝에push하세요.removeLast()함수: 마지막 점수를pop으로 제거하세요.count()함수: 등록된 점수 개수(scores.length)를 반환하세요. (view, returns (uint256))highest()함수: 반복문으로 가장 높은 점수를 찾아 반환하세요. (view, returns (uint256))
완성 후 Run 을 눌러 모든 조건을 통과하는지 확인하세요.