뱀파이어에 대해 알려진 사실은 기증자 혈액형이 호환되는 희생자의 피를 마셔야한다는 것입니다. 뱀파이어의 호환성 매트릭스는 일반적인 적혈구 공여자 / 수령자 매트릭스 와 동일합니다 . 다음 미국 적십자 표로 요약 할 수 있습니다.
Type You Can Give Blood To You Can Receive Blood From
A+ A+, AB+ A+, A-, O+, O-
O+ O+, A+, B+,AB+ O+, O-
B+ B+, AB+ B+, B-, O+, O-
AB+ AB+ everyone
A- A+, A-, AB+, AB- A-, O-
O- everyone O-
B- B+, B-, AB+, AB- B- O-
AB- AB+, AB- AB-, A-, B-, O-
도전
혈액형을 입력으로 받아 두 가지 목록을 출력하는 함수 또는 프로그램을 작성하십시오.
- 입력 유형의 기부금을받을 수있는 정렬되지 않은 유형의 목록
- 입력 유형에 기부 할 수있는 정렬되지 않은 유형의 목록
함수를 작성하는 경우 몇 가지 예를 통해 해당 함수를 호출하는 테스트 프로그램도 제공하므로 쉽게 테스트 할 수 있습니다. 이 경우 시험 프로그램은 점수에 포함되지 않습니다.
입력
입력은 8 가지 적혈구 유형 중 정확히 하나를 나타내는 문자열이어야합니다 O−
O+
A−
A+
B−
B+
AB−
AB+
. 입력은 일반적인 방법 (STDIN, 명령 행 인수, 함수 인수 등)을 통해 제공 될 수 있습니다.
다른 입력이 제공되면 프로그램 / 함수는 빈 출력을 반환하거나 오류를 발생시켜야합니다. 일반적으로 엄격한 입력 확인은 코드 골프 질문 에서 좋지 않지만 혈액 규칙을 잘못 작성 하여이 규칙을 추가 해야하는 삶의 죽음에 영향을 미친다고 느꼈습니다.
산출
출력은 귀하의 언어에 적합한 형식으로 사람이 읽을 수있는 혈액형 목록입니다. 출력 목록 중 하나에 8 가지 유형이 모두 포함 된 특수한 경우이 목록을 선택적으로가 포함 된 단일 항목 목록으로 바꿀 수 everyone
있습니다.
정상 출력은 정상 위치 (STDOUT, 함수 반환 등) 중 하나로 이동합니다.
다른 규칙
- 표준 허점 은 금지되어 있습니다
- 이 목적을 위해 명시 적으로 설계되지 않은 한 기존의 타사 라이브러리를 사용할 수 있습니다.
예
- input
AB-
의 경우 두 출력 목록은 다음과 같습니다.{AB+, AB-}, {AB-, A-, B-, O-}
- input
AB+
의 경우 두 출력 목록은 다음과 같습니다.{AB+}, {O−, O+, A−, A+, B−, B+, AB−, AB+}
또는{AB+}, {everyone}
개인 참고 사항 : 가능하면 헌혈을 고려하십시오. 수년 전에받은 수혈이 없으면 오늘 여기에 없을 수도 있기 때문에 기부 할 수있는 사람들에게 매우 감사합니다!