면책 조항 : 엔터테인먼트 목적 으로이 사이트에 잠시 동안 있었지만 이것이 첫 번째 질문이므로 사소한 오류는 용서하십시오.
배경
숙제를 할 때 선생님은 정말 성 가시고 개별적으로해야 할 모든 문제를 기록합니다 . 따라서 내가해야 할 문제를 복사 하는 데는 영원히 시간이 걸립니다 . 나는 내 인생을 더 편하게 해줄 것이라고 생각했고, 그에게 문제 목록을 덜 차지할 수있는 프로그램을 보내겠다.
페이지 또는 문제 번호 목록을 기록하는 동안 대시를 사용하여 범위를 나타냅니다. 예를 들어 19-21
됩니다 19, 20, 21
. 사이에 간격이 있으면 두 개의 쉼표로 구분 된 범위가 사용 19-21, 27-31
됩니다 19, 20, 21, 27, 28, 29, 30, 31
.
바로 지금, 아마도 당신은 아마도 "사소한 것 같습니다"라고 생각하고있을 것입니다. 실제로 이것은 이미 여기 와 여기 에 대답 되어 있습니다 .
그러나 캐치가 있습니다. 연속 자릿수가 동일한 범위가 있으면 반복 자릿수를 생략 할 수 있습니다. 예를 들면 다음과 같습니다 15, 16, 17
된다 15-7
, 그리고 107, 108, 109
이된다 107-9
. 보너스로, 마지막 연속 등호가 1보다 크고 상한의 마지막 자리가 아래의 숫자보다 작거나 같으면 다음을 생략 할 수 있습니다 (혼란이 들리면 죄송합니다. 어쩌면 일부 예제는 그것을 지울 것입니다) . 109-113
하게 109-3
낮은 마지막 숫자가 10 초 장소를 증가에서 알 수 있듯이.
도전
프로그램은 입력을 통해 정수 목록을 가져와야합니다 (언어 또는 함수의 표준이 무엇이든). 이 목록을 쉼표로 구분하거나 공백으로 구분하거나 실제 목록 / 배열로 결정할 수 있습니다.
이 표기법을 사용하여 해당 목록을 나타내는 가장 짧은 방법 (먼저 범위 수로 정렬 한 다음 범위에 포함 된 문자의 합계로 정렬)을 출력하십시오 . 각 파선 범위는 같은 줄에 있어야하지만 범위는 쉼표 또는 줄 바꿈으로 구분할 수 있습니다 (후행 줄 바꿈 또는 쉼표는 허용됨). 이 범위는 순서대로 있어야합니다.
우리 학교 Wi-Fi는 끔찍 하기 때문에 파일을 보내려면 가능한 한 작게 만들어야합니다. 가장 짧은 코드 (바이트)가 이깁니다.
보너스
선생님은 조잡해서 몇 가지 도움이 될 것입니다. 곱셈을 통해 여러 보너스가 누적됩니다 (예 : -10 % 보너스 (x 90 %) 및 -25 % (x 75 %) 보너스 = 90 % * 75 % = x 67.5 % (-32.5 % 보너스).
- 때때로 그는 그것들을 잘못된 순서로 넣습니다 (수학 교사가 아닙니다). 프로그램에서 최소에서 최대로 정렬되지 않은 정수를 사용할 수있는 경우 -20 % 보너스를 받으십시오.
- 우리 책은 이상하고 각 섹션은 -10에서 문제를 세기 시작합니다. 프로그램에서 음수를 사용할 수 있으면 -25 %를 사용하십시오.
- 10 자리를 증가시키는 등 마지막 자리수가 더 낮은 보너스를 수락하는 경우 (예 :로
25-32
축소)25-2
-50 % 보너스를받습니다.
테스트 사례
In: 1, 2, 3, 4, 5
Out: 1-5
In: 3, 4, 5, 9, 10, 11, 12
Out: 3-5, 9-12
In: 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160
Out: 149-60
In: 1 2 3 4
Out: 1-4
For bonuses:
In: 109, 110, 111, 112, 113
Out: 109-3
In: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
Out: 19-9
In: -3, -2, -1, 0, 1, 2
Out: -3-2
In: -3, -2, -1
Out: -3--1
답변은 2015 년 12 월 19 일 토요일에 수락됩니다.
GLHF!
149 150 151 152 153 154 155 156 157 178 159 160
합니까?
19-9
에 대한 19,20,...,29
아니라 19-29
텍스트를 의미한다. 그렇다면 어느 것이 맞습니까?
1-4 9-2
않습니까?