윤년(그레고리력 기준)은 다음과 같은 경우에 해당해요.
몇 가지 예를 볼까요.
윤년이라는 현상 전반을 4분 만에 즐겁게 설명해 주는 YouTube 영상을 확인해 봐요.
주어진 연도가 윤년인지 판단하는 것이 과제예요.
시작하기 전에, 테스트 케이스를 통과하는 코드를 작성하는 방법을 제대로 이해하고 있는지 확인해요. 더 자세한 내용은 이 튜토리얼을 참고해요.
대부분의 Java 연습 문제에는 여러 테스트 케이스가 있어요. 이 케이스들은 테스트 주도 개발(TDD)이라는 유용한 과정을 지원하도록 구성되어 있어요. TDD는 프로그래머가 복잡한 기능을 한 번에 만드는 대신 하나씩 만들어 나가도록 도와주는, 체계적인 주기를 반복하는 방법이에요. 그 주기는 다음과 같이 설명할 수 있어요:
이 트랙의 테스트 파일에는, 해법이 유효하다고 인정받기 위해 통과해야 하는 테스트가 모두 들어 있어요. 이는 테스트를 하나씩 작성하는 위에서 설명한 주기와는 바로 호환되지 않는 것처럼 보여요. 하지만 테스트를 작성할 때 사용하는 도구인 JUnit은 이미 작성된 테스트를 일시적으로 건너뛸 수 있는 @Disabled 애너테이션을 제공해요. 이 애너테이션을 사용해서, 전달해 드리는 테스트 파일이 다음 규칙을 따르도록 해요:
이 덕분에 다음과 같이 살짝 수정된 단계를 따라 TDD 주기를 흉내 내볼 수 있어요:
@Disabled 애너테이션을 제거해요.Exercism에 가입하고 Java 트랙을 개념 26개연습 문제 158개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.
윤년을 푸는 데 사용할 수 있는 다양한 알고리즘과 접근법을 깊이 파헤쳐 봐요. Jeremy와 Erik이 Exercism에서 10가지 언어에 걸친 흥미로운 커뮤니티 풀이를 살펴봐요.