https://adventofcode.com/2022/day/4
배에서 마지막 보급품을 내리기 전에 공간을 비워야 해서, 여러 엘프들이 캠프 구역을 청소하는 일을 맡았습니다. 모든 구역에는 고유한 ID 번호
가 있으며, 각 엘프는 특정 범위의 구역 ID들을 할당받습니다.
그러나 일부 엘프들이 할당된 구역을 서로 비교하면서, 할당된 구역들이 많이 중복
되는 것을 발견했습니다. 겹치는 부분을 빠르게 찾고 불필요한 일을 줄이기 위해, 엘프들은 짝을 지어 각 쌍(퍼즐 입력)에 대한 할당된 구역의 큰 목록
을 만듭니다.
예를 들어 다음과 같은 할당된 구역 쌍 목록이 있다고 가정합시다.
2-4,6-8
2-3,4-5
5-7,7-9
2-8,3-7
6-6,4-6
2-6,4-8
처음 몇 쌍의 경우 이 목록은 다음을 의미합니다.
- 첫 번째 쌍의 엘프들을 보면, 처음 엘프는 구역
2-4
(구역2
,3
,4
)가 할당되었고, 두 번째 엘프는 구역6-8
(구역6
,7
,8
)이 할당되었습니다. - 두 번째 쌍의 엘프들에게는 각각 두 개의 구역이 할당되었습니다.
- 세 번째 쌍의 엘프들에게는 각각 세 개의 구역이 할당되었습니다. 하나는
5
,6
,7
, 다른 하나는7
,8
,9
입니다.
위 예제에서는 한 자릿수의 구역 ID를 사용하여, 쉽게 도표로 그릴 수 있습니다. 실제 목록(퍼즐 입력)에는 더 큰 숫자가 포함될 수 있습니다. 시각적으로 이러한 구역 할당 쌍은 다음과 같이 표현됩니다.
.234..... 2-4
.....678. 6-8
.23...... 2-3
...45.... 4-5
....567.. 5-7
......789 7-9
.2345678. 2-8
..34567.. 3-7
.....6... 6-6
...456... 4-6
.23456... 2-6
...45678. 4-8
일부 쌍은 할당 중 하나가 다른 하나를 완전히 포함하고 있음을 알 수 있습니다. 예를 들어, 2-8
은 완전히 3-7
을 포함하고, 4-6
은 6-6
을 완전히 포함합니다. 하나의 할당이 다른 할당을 완전히 포함하는 쌍에서, 한 명의 엘프는 파트너가 청소할 구역을 독점적으로 청소하므로, 다시 할당하는 것이 필요할 것 같습니다. 위 예시에서는, 이러한 쌍이 2
개 있습니다.
한 범위가 다른 범위를 완전히 포함하는 할당 쌍은 몇 개입니까?
여전히 중복된 작업들이 꽤 많이 있는 것 같습니다. 대신 엘프들은 겹치는 쌍의 수를 알고 싶어 합니다.
위의 예에서 처음 두 쌍(2-4,6-8
과 2-3,4-5
)은 겹치지 않지만, 나머지 네 쌍(5-7,7-9
, 2-8,3-7
, 6-6,4-6
및 2-6,4-8
)은 겹칩니다.
5-7,7-9
은 구역7
이 겹칩니다.2-8,3-7
은 구역3
부터7
까지 모든 구역이 겹칩니다.6-6,4-6
은 구역6
이 겹칩니다.2-6,4-8
은 구역4
,5
,7
이 겹칩니다.
따라서 이 예에서 겹치는 할당 쌍의 수는 4
입니다.
범위가 겹치는 할당 쌍은 몇 개입니까?