Chunky vs. Smooth Strings 기반 .
스 쿼글 /\_/\/\__/\/\/\/\_/\_/\은 심심할 때 키보드로 재미있게 만들 수 있습니다. 그러나 모든 구불 구불 한 것이 동일하게 만들어지는 것은 아닙니다. 일부 구불 구불 한은처럼 부드럽고 \___/일부는 구불 구불 /\/\/\/\합니다. 다른 사람들은 똑바로 깨졌습니다.////_\\\
구불 구불 한 N캐릭터 안에는 N-1구불 구불 한 정션이 있습니다. 각 스 퀴글 접합은 세 가지 유형 중 하나로 분류됩니다.
부드럽게 (각도> "90도") :
\_ __ _/땅딸막 한 (각도 = "90도")
/\ \/고장 (연결되지 않은 것)
// \\ /_ _\
하자가 정의 부드러움을 함께 부드러운 있습니다 접합의 비율로 chunkiness 과 깨어진 유사하게 정의했다. 각 값의 범위는 0~ 사이 1입니다. 구불 구불 한 부드러움, 청크 및 파손의 합은 항상 1입니다.
예를 들어, squiggle /\/\\_//\_에는 3 개의 매끄러운 접합, 4 개의 청키 한 접합 및 2 개의 깨진 접합이 있습니다. 따라서 0.3333매끄럽고 0.4444두껍고 0.2222부러집니다.
하나의 문자 만있는 빈 문자열과 문자열에는 정의되지 않은 값이 있으며 모든 입력 길이는 2 자 이상입니다.
도전
임의 길이의 구불 구불 한 부분을 가져 와서 매끄러움, 청크 및 파손 값 중 두 가지를 출력하는 프로그램을 작성하십시오.
- STDIN, 명령 행을 통한 입력 또는 문자열 인수로 프로그램 또는 함수를 작성할 수 있습니다.
- 입력 길이가 2보다 크 거나 2 이상이고
/\_후행 줄 바꿈이 선택적인 문자로만 구성되어 있다고 가정 할 수 있습니다 . - 두 개의 부동 소수점을 반올림하거나 잘린 최소 4 자리의 정밀도로 인쇄하거나 함수로 반환합니다. 참값 인 경우
2/3, 허용 가능한 값은 사이 값을 포함0.6666하고0.6667, 심지어 같은 것들0.666637104. 정확한 값이1/3인 경우 포함 된 모든 답변0.3333이 유효합니다. 후행 0을 생략하거나 값이 1보다 작은 경우 앞에 0을 남겨 둘 수 있습니다. - 원하는대로 세 개의 값 쌍을 출력하십시오. 두 값과 순서를 명시하십시오.
바이트 단위의 가장 짧은 코드가 이깁니다.
예
/\/\\/\//\\→ 부드러움 0, Chunkiness 0.7, 깨어진0.3
_/\\_/\\/__/\\\//_→ 부드러움 0.29411764705, Chunkiness 0.29411764705, 깨어진0.41176470588
//\\__/_\/→ 부드러움 0.3333333, Chunkiness 0.2222222, 깨어진0.4444444
보너스 질문 : 부드럽거나 뭉툭하거나 부서진 부스러기를 선호합니까?