교통카드 두 장을 쓰면, 추가 요금이 꼭 생길까요?

하루 한도와 기간 한도를 정한 모형에서, 같은 이동을 두 카드로 나눠 계산해요. 추가 요금 없이 나눌 수 있는 때와 최소 1 단위가 더 필요한 때를 비교하고, 가능한 합계도 빠짐없이 찾습니다.

나무 책상 위 남색과 상아색 무표기 카드 두 장과 닫힌 갈색 지갑

이미지: AI 생성 · 수학 이야기

카드를 바꾸며 결제했더니, 같은 여섯 번의 이동에도 합계가 달라져요. 그렇다면 교통카드 두 장을 쓰는 순간 추가 요금은 피할 수 없을까요? 날짜별 이동을 어떻게 나눴는지가 답을 바꿀 수 있어요.

Transport for London의 공식 자료는 일별·주별 누적 상한을 받으려면 같은 카드나 기기를 사용하도록 안내해요. 2025년 3월판 직원 안내는 일별 합계를 분석해 주별 상한을 적용하고, 이용 기록은 카드별로 묶인다고 설명해요. 여기서는 그 묶음 관점에서 자체 계산 문제를 만들어요. 현재 런던의 통화·요금표를 계산하는 글은 아니에요.

모든 이동의 기본 요금을 1 단위, 카드마다 하루 한도를 3 단위, 전체 정산기간 한도를 5 단위로 정할게요. 첫날 네 번, 둘째 날 두 번 움직여요. 이동은 그대로 두고, 완결된 이동마다 A·B 중 카드 하나를 선택해요. 두 장 모두 실제로 한 번 이상 사용해야 해요.

한 장에 전부 모으면 첫날은 4 단위가 3 단위로 제한되고, 둘째 날은 2 단위여서 합계가 5 단위예요. 두 장으로 나누면 어떨까요?

A 로 결제한 첫날·둘째 날 이동 수 B 로 결제한 이동 수 카드별 기간 한도 전 합계 A·B 최종 합계 P
4회·0회 0회·2회 3·2 5
2회·1회 2회·1회 3·3 6

첫 배치는 첫날 전체를 A 로, 둘째 날 전체를 B 로 결제해요. 두 장을 쓰면서도 추가는 없어요. 둘째 배치는 같은 이동들을 나눴지만 한 카드에서 처리되던 첫날의 초과량이 두 카드에 흩어져, 합계가 1 단위 더 커졌어요.

전체 기간 한도만 4 로 바꿔 볼게요. 한 장에 모으면 4 가 돼요. 그런데 두 장을 모두 쓰는 어떤 배치도 4 를 만들 수 없어요. 첫 표의 배치는 여전히 5 이고, 둘째는 6 입니다. 최소 추가량이 1 로 바뀌어요. 하루 한도와 기간 한도는 서로 다른 단계에 적용돼요.

일반적인 모형을 정할게요. n 일의 이동 수 t_i 는 각각 0 이상의 정수이고, 기본 요금은 1 단위예요. 하루 한도 C 와 기간 한도 W 는 양의 정수예요. 두 카드의 하루 이동을 x_i 와 t_i−x_i 로 나눈 뒤

A=∑imin⁡(xi,C),B=∑imin⁡(ti−xi,C),P=min⁡(A,W)+min⁡(B,W)\begin{gathered} A=\sum_i\min(x_i,C),\qquad B=\sum_i\min(t_i-x_i,C),\\ P=\min(A,W)+\min(B,W) \end{gathered}

로 계산해요. 총 이동 수 N 이 2 이상이어야 두 장을 모두 쓸 수 있어요. 실제 달력의 한 주를 그대로 복제하는 대신 n 일의 한 정산기간을 정한 거예요. 모든 이동에 같은 단위 요금을 부과하고 환승·구간 차이·벌금은 넣지 않아요.

배치를 바꾸기 전에 원래 날짜별 수로 두 합계를 계산해요.

T=∑imin⁡(ti,C),R=∑imin⁡(ti,2C),p0=min⁡(T,W).T=\sum_i\min(t_i,C),\qquad R=\sum_i\min(t_i,2C),\qquad p_0=\min(T,W).

T 는 한 카드의 하루 한도를 적용한 합계이고 p₀ 는 그 카드의 최종 합계예요. R 은 두 카드의 하루 한도를 합쳐 활용했을 때 가능한 일별 합계의 최대예요. 어느 것도 원래 총 이동 수 N 과 항상 같지는 않아요.

두 장을 반드시 쓰는 최종 합계의 최소는 p₀ 또는 p₀+1 입니다. 1 이 더해지는 경우는 정확히 두 가지예요. T 가 기간 한도 W 를 넘는 경우, 또는 이동한 날이 딱 하루이고 그날 이동 수 N 이 하루 한도 C 를 넘는 경우예요. 두 원인이 함께 있어도 2 가 아니라 1만 더해요.

나머지 경우는 추가 없는 배치를 만들 수 있어요. 이동하는 날이 둘 이상이면 하루 전체를 다른 카드에 넘기면 돼요. 이동한 날이 한 날뿐이어도 그 수가 하루 한도 안이면, 그날 이동을 나눠도 합계가 늘지 않아요.

특정 배치가 추가를 만들지 않는 조건도 정확해요. 먼저 T≤W 여야 해요. 그리고 하루 이동이 C 를 넘는 날은 그날 전체를 한 카드에 모아야 해요. C 를 넘지 않는 날은 자유롭게 나눠도 돼요. 마지막으로 두 장을 실제로 사용했는지 확인해요. 이 조건들은 필요하기도 하고 충분하기도 해요.

기간 한도가 넉넉하다는 사실만으로 충분하지는 않아요. 한 날에 여섯 번만 움직이고 C=3,W=7 이라면 한 장의 합계는 3 입니다. 두 장을 꼭 쓰면 최소 4 가 돼요. 1회·5회로 나누어 한쪽의 1에 다른 쪽의 하루 한도 3 이 더해지기 때문이에요. 반면 여섯 번을 3회·3회인 두 날에 했다면 같은 C,W 에서 두 장을 어떻게 써도 합계는 6 이고, 한 장의 합계와 같아요.

최대 합계는

M=min⁡(R,2W)M=\min(R,2W)

입니다. 두 카드의 기간 한도를 합친 2W 도 넘을 수 없고, 두 카드의 하루 한도를 합친 R 도 넘을 수 없기 때문이에요. 상한을 적는 것만으로 최대가 되지는 않아요. 실제 배치도 만들어 봐요.

각 날을 나눠 그날의 합계가 min(t_i,2C)가 되게 하면서, A 와 B의 기간 한도 전 합계를 가능한 한 비슷하게 맞춰요. A 는 R−T 부터 T 까지의 모든 정수를 만들 수 있어요. 각 날의 A 항을 가장 작은 값에서 시작해 한 단위씩 늘리면 되며, 대응하는 실제 이동 수도 고를 수 있어요. 따라서 A=⌊R/2⌋,B=⌈R/2⌉를 만들어요. 둘 다 양수이고, 기간 한도를 적용하면 앞의 M 이 실제로 나와요.

최대의 조건은 두 상한이 같아지는 경계도 구별해야 해요. R<2W 이면 매일 합계를 최대화하면서 어느 카드도 W 를 넘지 않아야 해요. R=2W 에서는 A=B=W 여야 해요. R>2W 이면 두 카드가 각각 W 이상이면 충분하고, 모든 날의 합계를 최대화할 필요는 없어요. 더 큰 날짜별 합계가 기간 한도에서 다시 잘릴 수 있기 때문이에요.

최소와 최대 사이의 정수는 모두 가능할까요? 최대 배치를 정해 놓고 처음에는 전부 B 로 결제해요. 그 최대 배치에서 A 가 사용할 이동을 한 번씩 A 로 옮겨요. 옮길 때마다 A의 한도 적용 항은 0 또는 1만큼 늘고, B의 항은 0 또는 1만큼 줄어들어요. 최종 합계도 한 단계에 −1,0,1만큼 바뀌어요.

한 장의 합계 p₀ 에서 최대 M 까지 가는 이 목록은 중간 정수를 건너뛸 수 없어요. 첫 이동을 옮긴 뒤부터는 두 장을 계속 쓰고 있어요. 추가 없는 최소 p₀ 가 가능하다면 앞의 무손실 배치를 별도로 쓰면 돼요. 이렇게 가능한 집합은 최소 L 부터 최대 M 까지의 정수 전부가 돼요. 실수 사이의 모든 값이나 반 회짜리 이동을 허용한 것은 아니에요.

교사는 원래 총 이동 수, 하루 한도 뒤의 합계, 기간 한도 뒤의 합계를 다른 줄에 적게 해요. 이어 ‘두 카드를 썼다’만 확인하지 말고, 어느 날의 초과 이동을 둘로 나눴는지 확인해요. 제공 교재의 치역은 실제 가능한 합계들의 집합을 부르는 언어이고, 필요충분조건은 추가 없는 배치를 양방향으로 판정하는 언어예요. 알려진 최소함수나 분할하면 합계가 달라질 수 있다는 교훈 자체를 새 발견으로 소개하지 않아요.

착안: Transport for London, Contactless Cards and Devices – Conditions of Use, 2025년 3월 2일부터 별도 공지까지인 판의 PDF 1·3·4쪽, 공식 공개 Staff Guide 2, March 2025 판 PDF 1·11·13쪽. 카드별 일별·주별 누적이라는 배경만 참고했어요. 단위 요금·n 일 기간·두 단계 계산식·이동 목록과 전범위 증명은 자체 교육용이에요. 원문 카드 사진·요금표·로고나 여행 안내를 옮기지 않았어요.

이 글 공유하기

개인정보 및 방문 통계 안내