가방 또한 MULTISET라고는 정렬되지 않은 모음입니다. 중복을 허용하는 세트 또는 순서 / 인덱싱되지 않은 목록 (또는 배열)을 호출 할 수 있습니다. 이 과제에서는 덧셈, 차이, 곱셈, 나눗셈, 계산 및 평등 테스트와 같은 백 연산을 구현해야합니다.
운영
지정된 작업이 일반적인 작업이 아닐 수 있습니다.
- 또한 두 개의 백을 하나로 결합하여 각 값의 총 수를 보존합니다.
[1,2,2,3] + [1,2,4] = [1,1,2,2,2,3,4]
- 차이 는 가방에서 다른 가방의 각 요소를 제거하거나 그러한 요소가 없으면 아무것도하지 않습니다.
[1,2,2,4] - [1,2] = [2,4]
[1,2,3] - [2,4] = [1,3]
- 곱하기 는 백의 각 요소를 곱합니다.
[1,2,3,3,4] * 3 = [1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3] = [1,1,3,3]
- 나눗셈 은 드문 일입니다. 각 n 개의 동일한 요소는 n 개의 동일한 새 백에 넣고 n 그룹을 형성 할 수없는 요소는 백에 남아 있습니다. 새 가방 중 하나를 반환하십시오.
[1,1,2,2,2] / 2 = [1,2]
[1,2,2,3,3,3] / 3 = [3]
- 배당 백에서 몇 개의 제수 백을 생산할 수 있는지 계산
[1,1,2,2,2,2,3,3,3] c [1,2,3] = 2
- 동등성 테스트 는 두 개의 백에 각 요소의 개수가 같은지 확인합니다
[1,2,2,3] == [3,2,1,2] = truthy
[1,2,3] == [1,2,2,3] = falsy
(이에 사용할 수도 있음=
)
연산자에 고유 한 기호를 사용하는 경우 지정하십시오.
체재
가방이 양식 목록으로 표시됩니다 [1,1,2,3,4]
. 정사각형 이외의 대괄호를 사용하거나 따옴표를 사용하거나 전혀 사용할 수 없습니다. int
이 질문의 목적을 위해 요소는 (수학적으로, 반드시는 아니지만 ) 정수 입니다. 가방을 분류 할 필요는 없습니다.
입력 형식은 오퍼레이터 두 가방 또는 주머니와 정수 것이다. 이 세 가지가 포함되어 있으면 원하는 형식을 지정할 수 있습니다.
출력 형식 과 동일한 형식의 단일 부대이어야한다.
규칙
- 이미 구현 한 내장 함수, 작업 또는 라이브러리 (표준 라이브러리 포함)를 사용할 수 없습니다. 비록리스트 연산과 곱셈을 사용하는 것은 괜찮습니다. 그것들은 백 연산이 아닌 정의 목록 연산에 의한 것입니다 (기본적으로 같은 일을합니다)
- 표준 허점 적용
- 최단 답변 승리
테스트 사례
[1,2,2,3] + [1,2,4]
[1,1,2,2,2,3,4]
[1,2,2,4] - [1,2]
[2,4]
[1,2,3] - [2,4]
[1,3]
[1,2,3,3,4] * 3
[1,1,1,2,2,2,3,3,3,3,3,3,4,4,4]
2 * [1,3]
[1,1,3,3]
[1,1,2,2,2] / 2
[1,2]
[1,2,2,3,3,3] / 3
[3]
[1,1,2,2,2,2,3,3,3] c [1,2,3]
2
[3,2,1,2] == [1,2,2,3]
truthy
[1,2,3] == [1,2,2,3]
falsy