주간 챌린지 122
1774 단어 theweeklychallengeperl
작업 #1 › 스트림의 평균
일
일련의 숫자
@N
가 제공됩니다.모든 지점에서 스트림의 평균을 출력하는 스크립트를 작성하십시오.
내 솔루션
이것은 비교적 간단하며 이 코드 비트
map { ++$cnt; $sum += $_; $sum / $cnt } @N
로 작업이 완료됩니다. 기본적으로 나는 카운터에 1을 더하고 그 합에 값을 더하고 그 지점에서 평균(합 ÷ 카운터)을 계산합니다.설명되지 않은 한 가지는 평균이 정수가 아닐 때 일어나는 일입니다. 무엇을 해야 하는지에 대한 지침이 없기 때문에 Perl이 무엇을 하는지 인쇄해 보겠습니다. 따라서 1/3은
0.333333333333333
로 표시됩니다.예시
$ ./ch-1.pl 10 20 30 40 50 60 70 80 90
10 15 20 25 30 35 40 45 50
작업 #2 › 농구 포인트
일
점수
$S
가 주어집니다.예를 들어 농구 점수를 얻을 수 있습니다. 1점, 2점, 3점입니다.
점수를 매길 수 있는 다양한 방법을 알아보는 스크립트를 작성하세요
$S
.내 솔루션
이 작업을 보자마자 Challenge 112 의 Climb Stairs 작업이 생각났습니다. 이 문제를 해결하기 위해 비슷한 방법론을 사용했습니다.
주요 작업은 재귀 함수
_score
에서 수행됩니다(이전 챌린지에서 _climb
라고 불림). 남은 점수가 3점 이하일 경우 필요한 점수를 얻기 위해 득점 샷을 보여줍니다. 1점 이상 남았다면 그 샷의 포인트보다 1점 이상 남으면 1, 2, 3점에 대한 _score
서브루틴을 다시 호출합니다.예
$ ./ch-2.pl 4
1 3
1 1 2
1 1 1 1
1 2 1
2 2
2 1 1
3 1
$ ./ch-2.pl 5
1 1 3
1 1 1 2
1 1 1 1 1
1 1 2 1
1 2 2
1 2 1 1
1 3 1
2 3
2 1 2
2 1 1 1
2 2 1
3 2
3 1 1
Reference
이 문제에 관하여(주간 챌린지 122), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/simongreennet/weekly-challenge-122-4np8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)