다음은 간단한 ASCII 아트 루비입니다 .
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
ASCII Gemstone Corporation의 보석상으로서 귀하의 업무는 새로 획득 한 루비를 검사하고 발견 된 결함에 대한 메모를 남깁니다.
운 좋게도 12 가지 유형의 결함 만 가능하며 공급 업체는 루비가 둘 이상의 결함을 갖지 않도록 보장합니다.
12 개는 결함 (12) 내측의 하나의 교환에 대응하는 _
, /
또는 \
공백 문자 (와 루비 문자 ). 루비의 외주에는 결함이 없습니다.
결함은 내부 문자에 공백이있는 위치에 따라 번호가 지정됩니다.
따라서 결함 1이있는 루비는 다음과 같습니다.
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
결함이 11 인 루비는 다음과 같습니다.
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
다른 모든 결함에 대해서도 같은 생각입니다.
도전
결함이있는 단일 루비의 문자열을 취하는 프로그램이나 함수를 작성하십시오. 결함 번호를 인쇄하거나 반환해야합니다. 결함이 없으면 결함 번호는 0입니다.
텍스트 파일, stdin 또는 문자열 함수 인수에서 입력을 가져옵니다. 결함 번호를 반환하거나 표준 출력에 인쇄하십시오.
루비에 줄 바꿈 문자가 있다고 가정 할 수 있습니다. 당신은 할 수 없는 그 공백을 후행 또는 선도 줄 바꿈을 가지고 있다고 가정합니다.
바이트 단위의 가장 짧은 코드가 이깁니다. ( 핸디 바이트 카운터 )
테스트 사례
13 가지의 정확한 루비 유형과 그에 따른 예상 생산량 :
___
/\_/\
/_/ \_\
\ \_/ /
\/_\/
0
___
/\_/\
/_/ _\
\ \_/ /
\/_\/
1
___
/\ /\
/_/ \_\
\ \_/ /
\/_\/
2
___
/\_/\
/_ \_\
\ \_/ /
\/_\/
3
___
/\_/\
/_/ \_\
\ _/ /
\/_\/
4
___
/\_/\
/_/ \_\
\ \ / /
\/_\/
5
___
/\_/\
/_/ \_\
\ \_ /
\/_\/
6
___
/\_/\
/_/ \ \
\ \_/ /
\/_\/
7
___
/\_ \
/_/ \_\
\ \_/ /
\/_\/
8
___
/ _/\
/_/ \_\
\ \_/ /
\/_\/
9
___
/\_/\
/ / \_\
\ \_/ /
\/_\/
10
___
/\_/\
/_/ \_\
\ \_/ /
\ _\/
11
___
/\_/\
/_/ \_\
\ \_/ /
\/_ /
12