입력:
정수 목록 (0을 포함하지 않음)
산출:
다음을 기준으로 개수가 같은 크기의 목록 :
- 현재 항목이 음수 인 경우 :이 항목 앞의 모든 항목을보고 다른 숫자에서 숫자가 발생한 횟수를 세십시오.
- 현재 항목이 양수인 경우 :이 항목 뒤에있는 모든 항목을보고 다른 숫자에서 숫자가 발생한 횟수를 세어보십시오.
하나의 트위스트가 있습니다 : 목록의 크기가 짝수이면 모든 숫자를 한 번만 계산합니다 (여러 자릿수와 일치하더라도). 크기가 홀수이면 현재 항목의 각 숫자에 대한 숫자의 모든 자릿수를 계산합니다 (중복 됨) 숫자는 여러 번 계산됩니다).
이것을 약간 명확히하기 위해 몇 가지 예를 들어 보겠습니다.
짝수 목록이있는 예 :
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
목록의 크기는 짝수 이므로 각 숫자는 한 번만 계산합니다.
4: 긍정적이기 때문에 기대합니다. 숫자가 포함 된 세 개의 숫자가 있습니다4(42,-942,8374). 그래서 우리는로 시작합니다3.10: 긍정적이기 때문에 기대합니다. 숫자1및 / 또는0(-10,-200)를 포함하는 두 개의 숫자가 있습니다 . 두 번째 출력은2입니다.42: 다시 긍정적, 앞으로. 숫자 중 하나를 포함하는 4 개 개의 번호가 있습니다4및 / 또는2(-942,8374,728,-200). 따라서 세 번째 출력은4입니다.-10: 이번에는 음수이므로 거꾸로 봅니다. 숫자1및 / 또는0(빼기 기호는 무시) (10)를 포함하는 숫자가 하나만 있습니다 . 네 번째 출력은1입니다.- 기타
홀수 목록이있는 예 :
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
목록의 크기는 홀수 이므로 모든 숫자를 계산합니다.
382: 긍정적이기 때문에 기대합니다. 이 하나3다른 숫자 (의381여섯)8'다른 번호 (에이야-82, -8, 381, 228, 28, -28), 62'다른 번호에 S (-82, 228, 28, -28, 2). 그래서 우리는로 시작합니다13.-82: 음수이므로 거꾸로합니다. 하나가3다른 번호 (에서382), 하나의8다른 수의 (382). 두 번째 출력은2입니다.- ...
228: 긍정적입니다. 세 가지가 있습니다2'다른 번호 (에이야28,-28,-2), 다른 세 가지2의, 2 개의8'다른 번호에 S (28,-28). 따라서이 출력은8입니다.- 기타
도전 규칙 :
- 입력이
0긍정적이거나 부정적이지 않기 때문에 입력이 항목으로 절대 포함되지 않는다고 가정 할 수 있습니다 . - 입력 목록에 항상 두 개 이상의 항목이 포함되어 있다고 가정 할 수 있습니다.
- I / O는 유연합니다. 입력 / 출력은 정수 / 구분 된 문자열, 숫자 / 문자 매트릭스 등의 배열 / 목록 일 수 있습니다.
- 목록의 첫 번째 숫자가 음수이거나 목록의 마지막 숫자가 양수이면 결과 목록에서 0이됩니다.
- 홀수 목록을 사용하면
228위의 홀수 예에서8(3 + 2) 대신 (3 + 3 + 2)가 발생 하는 것과 같이 동일한 숫자를 여러 번 포함하는 숫자가 여러 번 계산됩니다5.
일반 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수 및 반환 유형의 전체 프로그램과 함께 함수 / 방법을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 :
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19]
Output: [9, 1, 7, 3, 5, 5, 3, 7, 1, 9 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20]
Output: [11, 2, 8, 4, 5, 6, 3, 8, 1, 10, 0 ]
Input: [88, 492, -938, 2747, 828, 84710, -29, -90, -37791]
Output: [8, 9, 3, 9, 3, 4, 5, 4, 12 ]
Input: [-1, 11, 11, 1]
Output: [0, 2, 1, 0]
Input: [1, 11, 11, -1]
Output: [3, 2, 1, 3 ]
Input: [-1, 11, 1]
Output: [0, 2, 0]
Input: [1, 11, -1]
Output: [3, 2, 3 ]
δ¢이중 벡터가 잘 사용되는 것을 보지 못했습니다.