결합 간격 표기법으로 2 세트의 교집합 찾기
구간의 합집합으로 기술 된 두 세트의 실수가 주어지면,이 두 세트의 교차점에 대한 설명을 동일한 유형의 구간의 합집합으로 출력하십시오.
입력 집합은 각 간격이 서로 다른 정수로 시작하고 끝나도록 간격의 합집합으로 구성됩니다 (즉, 간격이 측정 값이 0이 아님). 그러나 동일한 세트의 다른 간격은 동일한 정수 또는 겹침으로 시작하거나 끝날 수 있습니다.
또한 출력 집합은 정수로 시작하고 끝나는 간격의 합집합이어야하지만 단일 정수에서도 출력의 간격이 다른 간격과 겹치지 않아야 합니다.
입력은 두 개의 정수 쌍 목록으로 구성되어 있으면 선택한 언어에 적합한 형식을 사용할 수 있습니다.
예를 들어 세트 를 다음과 같이 나타낼 수 있습니다 .
[-10,-4]u[1,5]u[19,20]
또는
[[-10,-4],[1,5],[19,20]]
또는
[-10,-4;1,5;19,20]
출력 표시는 입력 표시와 동일해야합니다 (두 개가 아닌 하나의 간격 목록 만 제외).
예 / 테스트 사례 :
입력:
[[[-90,-4],[4,90]],[[-50,50]]]
산출:
[[-50,-4],[4,50]]
다시 말해, 우리는 -90과 -4 사이의 모든 실수와 4와 90 사이의 모든 실수를 포함하는 집합과 -50과 50 사이의 모든 실수를 포함하는 집합을 교차시킵니다. 교차는 모두를 포함하는 집합입니다 -50과 -4 사이의 실수와 4와 50 사이의 모든 실수.보다 시각적 인 설명 :
-90~~~~~-4 4~~~~~90 intersected with
-50~~~~~~~~50 yields:
-50~-4 4~~50
입력:
"[-2,0]u[2,4]u[6,8]
[-1,1]u[3,5]u[5,9]"
산출:
"[-1,0]u[3,4]u[6,8]"
입력:
[-9,-8;-8,0;-7,-6;-5,-4]
[-7,-5;-1,0;-8,-1]
산출:
[-8,0]
유효하지 않은 출력 (동일한 세트를 나타내더라도) :
[-8,0;-7,-5;-5,0]
채점 :
이것은 코드 골프 이므로 다음과 같은 보너스로 잠재적으로 수정 된 바이트 단위의 가장 짧은 소스입니다.
보너스:
간격의 경계로 양수 및 음수 무한대도 지원하는 경우 -15 % 이 숫자를 나타내는 토큰을 선택할 수 있습니다. (그렇습니다, 무한대는 초현실주의 숫자입니다 .P)
[[[4,90],[-90,-4]],[[-50,50]]]