컬렉션에 keep과 discard 연산을 구현하세요.
컬렉션과 그 컬렉션 원소에 대한 조건 함수가 주어졌을 때, keep은 조건 함수가 참인 원소만 담은 새 컬렉션을 반환하고, discard는 조건 함수가 거짓인 원소만 담은 새 컬렉션을 반환해요.
예를 들어, 다음과 같은 숫자 컬렉션이 주어지고:
조건 함수가 다음과 같다면:
그러면 keep 연산의 결과는 다음과 같아요:
discard 연산의 결과는 다음과 같아요:
keep과 discard의 결과를 합치면 모든 원소가 된다는 점에 유의해요.
함수 이름은 keep과 discard일 수도 있고, 사용하는 언어의 기존 함수나 개념과 충돌하지 않도록 다른 이름이 필요할 수도 있어요.
표준 라이브러리에서 제공하는 filter/reject, 뭐라고 부르든 그런 기능에는 손대지 마세요! 대신 다른 기본 도구만으로 직접 풀어보세요.
Exercism에 가입하고 Go 트랙을 개념 34개연습 문제 165개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.