생년월일 (월 및 일)을 입력으로 사용하여 서양 조디악 의 해당 부호, 요소 및 품질을 출력하는 프로그램을 작성하십시오 . 이 챌린지를 위해 링크 된 wikipedia 페이지의 표와 동일하게 정의됩니다.
Sign Date Range Element Quality
Aries March 21 to April 19 Fire Cardinal
Taurus April 20 to May 20 Earth Fixed
Gemini May 21 to June 21 Air Mutable
Cancer June 22 to July 22 Water Cardinal
Leo July 23 to August 22 Fire Fixed
Virgo August 23 to September 22 Earth Mutable
Libra September 23 to October 23 Air Cardinal
Scorpio October 24 to November 20 Water Fixed
Sagittarius November 21 to December 22 Fire Mutable
Capricorn December 23 to January 20 Earth Cardinal
Aquarius January 21 to February 21 Air Fixed
Pisces February 22 to March 20 Water Mutable
규칙
- 기호, 요소 및 품질은 위키피디아 테이블에 따라 입력 날짜부터 정확하게 계산됩니다.
- 입력 날짜 형식에 대한 자유를 제공합니다 (아래 입력 섹션 참조). 어떤 형식을 사용하고 있는지 명확하게 답변해야합니다.
- 유효하지 않은 날짜 (분석 할 수없는 날짜 또는 월 또는 월이 범위를 벗어남)가 제공되면 프로그램이 메시지와 함께 종료됩니다
Invalid date
. - 프로그램은 윤년을 올바르게 처리해야합니다. 즉 2 월 29 일이 입력 인 경우 출력은 올바르게되어야합니다
Pisces, Water, Mutable
. - 언어의 날짜 라이브러리 / API는 허용되지만 조디악의 부호를 계산하는 API는 모두 금지됩니다.
- 더 이상 재미없는 표준“허점”
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
입력
- 프로그램은 STDIN, 명령 행, 환경 변수 또는 선택한 언어에 편리한 방법으로 입력 날짜를 읽을 수 있습니다.
- 이는 기본적으로 날짜 문자열 구문 분석의 실습이 아니므로 입력 문자열이 다른 값 (예 : 연도 또는 시간)이 아닌 월 및 월 구성 요소로 구성되어있는 한 원하는 형식으로 제공 될 수 있습니다. . 예
Jul 24
또는24th of July
또는7/24
또는24/07
또는 편리 어떤 형식입니다. 선택한 입력 형식과 일치하지 않는 입력을 입력하면Invalid date
오류가 발생해야합니다.
산출
- 프로그램은 STDOUT, 대화 상자 또는 원하는 언어로 편리한 표시 방법으로 출력됩니다.
- 출력 형식은 쉼표와 공백으로 구분 된 부호, 요소 및 품질입니다.
Sign, Element, Quality
예
Input Output
1/1 Capricorn, Earth, Cardinal
2/29 Pisces, Water, Mutable
7/24 Leo, Fire, Fixed
13/1 Invalid date
2/31 Invalid date
-1/-1 Invalid date
1st of Golfember Invalid date
Jan 21 -> 21
, Feb 5 -> 36
) 유효한 입력 형식은?