정말 오랜만의 블로그 글이다..!
오늘은 친구 생일 파티에서 생긴 소동(?) 에 대해 글을 남겨보고자 한다.
사건의 발단은 이렇다.
"나", "A", "B" 가 "루피" 의 생일파티에 줄 선물과 케이크를 샀다.
이때 케이크는 B 가 18000원을 주고 구매했고,
나는 선물을 40176원을 주고 구매했다.
그럼 각자가 부담해야할 총액은
(18000 + 40176) / 3 = 19392원 이 된다.
그런데 B 가 실수로, 나에게 19392원을 송금해버렸다.
B 에게 다시 19392원을 돌려주고 다시 계산하는 방법도 있었으나,
나는 한 가지 독특한 방법을 제안한다.
내가 B 에게 18000원을 송금함으로써, 내가 케이크를 구매한 것으로 간주하고, A와 B에게 19392원을 받는다는 방법이었다.
그런데 이렇게 놓고 보니..
B 는 나에게 19392원을 송금했고, 나는 B 에게 18000원을 송금하였다. 즉 나는 + 1392원 밖에 받지 못한 것이다.
그래서 나는 B 에게 다시 18000원을 보내서, 총 19392원을 보내달라고 하였다.
내가 사로잡힌 논리는, "A 와 B 에게서 19392원씩을 받아야 내가 손해가 아니다"는 생각이었다.
그래서 B 는 다시 나에게 18000원을 송금했다.
이때 B 는 자신의 총 지출액이 19392원을 훨씬 상회한다는 생각이 들었고, 나 또한 무언가가 잘못되었단 느낌이 들었다.
"A 와 B 에게서 19392원씩을 받아야 내가 손해가 아니다" 는 맞는 것 같은데, 어디에서 오류가 생겼을까?
그렇다. 나는 아까 B 에게 케이크를 내가 구매하는 것을 전제로 19392 원을 받아놓고서, 18000원을 송금한 후 최종적으로 얻게되는 차익이 19392원이 되어야 한다고 착각한 것이다.
그 결과 B 는 18000원을 더 내게 되었다.
처음에 설계한 아이디어 자체는 틀리지 않았다. 그런데 내가 중간에 헷갈리는 바람에 B 가 돈을 훨씬 많이 내는 대참사가 벌어져버렸다.
일단 이 문제를 우리는 이렇게 해결했다.
결국 나는 착각으로 더 받았던 18000원을 다시 B 에게 돌려주었고, 이로써 B 는 나에게 처음 실수로 보낸 19392원만 송금한 상태가 되었다.
A 는 B 와 나에게 각각 케이크 값의 1/3인 6000원, 모자값의 1/3인 13392원을 송금해주었다.
B 는 나에게 19392원을 송금한 상황인데, B 가 나에게 송금해야하는 돈의 총량은 모자값 13392원에서 6000원을 뺀 7392원이므로, 내가 다시 B 에게, 이미 받은 19392원에서 7392원을 제외한 12000원을 돌려주었다.
즉, 내가 케이크를 구매했다고 가정한 것을 폐기하고, 모자값과 케이크값을 별도로 정산한 것이다.
지금은 세 명이어서 모자값과 케이크값을 각자에게 보내는 것이 크게 번거롭지 않지만, 만약 사람이 수가 커지고 이 모든 사람들이 각자 한 개씩 가격이 서로 다른 물건을 구매한 상황이라면 어떨까?
상황은 매우 복잡해질 것이다.
그래서 나는 내가 처음에 떠올린 아이디어를 이용해 이 복잡한 정산 상황에서도 요긴하게 쓰이게 하고 싶어졌다!
그래서 생각해 본,
복잡한 정산을 쉽고 효율적으로 하는 법은 아래와 같다.
나의 논리를 그래프로 표현한다면 아래와 같이 표현할 수 있다.
한 사람이 총무를 맡는다. 여기에서는 "현수" 가 총무이다.
그룹 내에서, 물건을 구매한 모든 사람은 그 금액을 "총무"에게 알린다.
그럼 "총무"는, 그 사람에게 해당 금액만큼의 돈을 송금해준다. 그리고 이를 장부에 적는다.
"총무" 자신이 물건을 구매했다면, 그 금액만큼의 돈도 장부에 적는다.
모든 사람들의 금액을 장부에 적은 후에는, 장부에 있는 모든 금액을 합한 다음, 그룹 인원수 로 나눈다. 이것이 의미하는 바는 한 사람이 부담해야 하는 금액의 총액이다.
한 사람이 내야하는 돈의 총액 = 장부에 있는 모든 금액의 합 / 그룹 내 인원수
그럼 다음 모든 사람들이 이 금액만큼을 "총무"에게 송금한다.
이렇게 관리하게 되면, 한 사람이 구매한 이력이 있는 사람들에게 모두 돈을 보낼 필요가 없이 "총무"에게만 돈을 송금하면 된다.
"총무" 가 조금 번거로워진다는 단점은 있겠지만, "총무" 를 중심으로 돈의 흐름 방향이 정해져 있고 {내가 보낼 돈 - 너가 보낼 돈} 과 같은 차액 계산이 여러 번 필요하지 않다는 점에서 효율적이다.
대학 친구들과 매년 생일파티를 여는데, 이제 그때마다 번거롭게 계산을 할 필요는 없을 것 같다!
골치 아픈 정산 문제로 골머리를 앓고 있는 사람에게 부디 이 글이 읽힐 수 있기를ㅎㅎ
(파이썬 코드로도 작성해볼 예정이다!)
'TIL' 카테고리의 다른 글
2024.02.06 TIL (2) | 2025.02.06 |
---|---|
라이브환경에서 발생할 수 있는 배열 접근 타입 에러를 근본적으로 막아보자! (0) | 2025.01.09 |
PeerDependency 에러 수정기 (3) | 2024.09.09 |
2024.05.17 TIL (1) | 2024.05.17 |
2024.05.02 TIL 실패하더라도 나답게 살자. (0) | 2024.05.02 |
댓글