Peanut Butter
N = 13 과 같이 길이가 N 인 문자열을 고려하십시오. 문자열에 N-1 쌍의 인접 문자가 있습니다. 들면 Peanut Butter
12 쌍 제이며 Pe
, 두 번째는 ea
상기 마지막이다 er
.
쌍이 대부분 다른 문자 인 경우 문자열의 품질은 다음과 같습니다 chUnky
.
이러한 쌍이 대부분 같은 문자 인 경우 문자열의 품질이 매끄 럽습니다 (예 :) sssmmsss
.
문자열 의 청크도 를 두 개의 다른 문자가있는 쌍 수와 총 쌍 수 (N-1)의 비율로 정의하십시오 .
문자열 의 부드러움 을 동일한 문자가있는 쌍 수와 총 쌍 수 (N-1)의 비율로 정의하십시오 .
예를 들어 Peanut Butter
동일한 문자 ( tt
)를 가진 한 쌍만 있으므로 매끄러움은 1/12 또는 0.0833이고 청크는 11/12 또는 0.9167입니다.
하나의 문자 만있는 빈 문자열과 문자열은 100 % 매끄럽고 0 % 청키 한 것으로 정의됩니다.
도전
임의의 길이의 문자열을 가져와 청크 또는 부드러움 비율을 부동 소수점 값으로 출력하는 프로그램을 작성하십시오.
- stdin 또는 명령 행을 통해 입력하거나 문자열을 사용하는 함수를 작성할 수 있습니다.
- 입력 문자열에 인쇄 가능한 ASCII 문자 만 포함되어 있다고 가정 할 수 있습니다 (따라서 단일 행임).
- float를 stdout에 소수점 이하 4 자리 이상으로 인쇄하거나 함수를 작성한 경우 반환하도록 선택할 수 있습니다. 정보를 전달하지 않는 소수 자릿수는 필요하지 않습니다 (예 :
0
대신)0.0000
. - 원하는대로 청크 또는 부드러움을 선택하십시오. 프로그램이 출력하는 것을 말하십시오.
바이트 단위의 가장 짧은 코드가 이깁니다.
예
Peanut Butter
→ 청크 :: 0.91666666666
, 매끄러움 : 0.08333333333
chUnky
→ 청크 :: 1.0
, 매끄러움 : 0.0
sssmmsss
→ 청크 :: 0.28571428571
, 매끄러움 : 0.71428571428
999
→ 청크 :: 0.0
, 매끄러움 : 1.0
AA
→ 청크 :: 0.0
, 매끄러움 : 1.0
Aa
→ 청크 :: 1.0
, 매끄러움 : 0.0
!
→ 청크 :: 0.0
, 매끄러움 : 1.0
[빈 문자열] → 청크 :: 0.0
, 부드러움 :1.0