학교 명부

학교 명부

쉬움

지침

학생들의 이름과 그 학생이 속한 학년이 주어지면, 학교의 명부를 만들어요.

최종적으로는 다음을 할 수 있어야 해요:

  • 특정 학년 명부에 학생 이름을 추가하기
    • "2학년에 Jim을 추가해요."
    • "알겠어요."
  • 특정 학년에 등록된 모든 학생 목록 가져오기
    • "2학년에는 어떤 학생들이 있나요?"
    • "지금은 Jim밖에 없어요."
  • 모든 학년의 모든 학생을 정렬된 목록으로 가져오기. 학년은 1, 2, 3순으로 정렬되고, 같은 학년 안의 학생은 이름을 기준으로 알파벳순으로 정렬되어야 해요.
    • "지금 학교에 등록된 학생은 모두 누구인가요?"
    • "생각해 볼게요. 1학년에 Anna, Barb, Charlie가 있고, 2학년에 Alex, Peter, Zoe, 5학년에 Jim이 있어요. 그러니까 답은 Anna, Barb, Charlie, Alex, Peter, Zoe, Jim이에요."

참고로 우리 학생들은 모두 이름이 하나뿐이에요. (작은 마을이니까요. 어쩔 수 없죠?)

보너스 점수를 원한다면

테스트를 모두 통과시키고 코드도 깔끔하게 정리했나요? 원한다면 다음과 같은 것도 시도해 볼 수 있어요:

  • 가변 자료 구조를 가진 언어로 작업하고 있고, 작성한 구현이 외부 코드에서 학교의 내부 DB를 직접 변경할 수 있게 되어 있다면, 이를 막을 수 있는지 확인해 봐요. 추가 테스트를 만들어도 좋아요.

그렇다면 제출물에 댓글로 생각을 남겨 주세요. 이 실험이 코드를 더 좋게 만들었나요? 더 나쁘게 만들었나요? 무언가 배운 점이 있었나요?


출처

gSchool에서 Phil Battos와 함께한 페어 세션
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Delphi Pascal Exercism

학교 명부 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Delphi Pascal 트랙을 연습 문제 76개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.