소개 및 신용
당신이 바텐더라고 가정하십시오. 당신은 대부분의 술집에 많은 행복한 사람들이 있지만, 많은 사람들은 항상 같은 음료를 마시고 취향에 비해 너무 적은 음료수를 마시고 그것을 바꾸고 싶어합니다. 따라서 이미 판매 된 수량에 따라 음료 가격이 변동이 있지만 특정 임계 값보다 높거나 적은 시스템을 소개합니다. 이상한 이유로 당신은 항상 판매 된 모든 음료와 가격을 적절히 추적하는 것을 잊어 버리므로 소비되는 음료의 양이 주어지면 수학을 수행하는 짧은 (= 기억에 남는!) 코드를 생각해야합니다.
이 도전은 이미 2012 년 중학교 시험에서 내 UNI의 기능 프로그래밍 과정에 나타 났으며 교수님이 여기에 게시 할 수 있습니다. 우리는 시험 언어로 예제 솔루션을 제공했습니다.
입력
입력 내용은 공백을 포함하지 않는 문자열 목록이 될 것입니다-판매 된 음료의 이름입니다. 선호하는 일반적으로 사용되는 입력 방법을 사용하여 입력하십시오 .
산출
당신의 산출물은 단일 숫자가 될 것입니다-이것은 당신이 오늘 저녁에 생성 한 소득입니다. 선호하는 일반적으로 허용되는 출력 방법을 사용하여 출력하십시오 .
무엇을해야합니까?
이것은 각 음료에 개별적으로 적용됩니다.
- 시작 가격은 10입니다.
- 음료를 구입할 때마다 다음 구매자의 가격이 1 씩 올라갑니다.
- 최대 가격은 50입니다. 음료를 50로 구매 한 경우 새로운 가격은 다시 10이됩니다.
당신의 임무는 위의 규칙에 주어진 음료의 입력 목록에 의해 생성 된 전체 수입을 찾는 것입니다.
궁금한 경우 : "50 벅은 실제로 음료 비용이 비싸다!", 이것은 50- 데시 벅, 그래서 50 * 0.1 * 단위이지만 부동 소수점 산술.
누가 이겼어?
이것은 code-golf 이므로 바이트 단위의 가장 짧은 코드가 이깁니다! 표준 규칙이 적용됩니다.
잠재적 인 코너 케이스
입력 목록이 비어 있으면 출력은 0이어야합니다
. 입력 목록은 음료별로 정렬되어 있지 않은 것으로 가정합니다.
예
[] -> 0
["A"] -> 10
["A","B"] -> 20
["A","A","B"] -> 31
["A","B","A"] -> 31
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> 1240
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D"] -> 1304
["D","A","A","C","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","C"] -> 1304
["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> 1304