트랙
/
Tcl
Tcl
/
연습 문제
/
놀라운 생일
놀라운 생일

놀라운 생일

보통

소개

대학을 막 졸업하고, 친구와 가족과 함께 축하하려고 큰 파티를 열었어요. 70명이 넘는 사람이 모였는데, 그중에는 조금 별난 Ted 삼촌도 있었어요.

늘 하던 엉뚱한 장난 중 하나로, 삼촌은 이 방에 생일이 같은 사람이 적어도 두 명은 있다며 £100 내기를 걸어요. 말도 안 되는 소리예요. 가능한 생일이 손님 수보다 훨씬 많으니까요. 그래서 자신 있게 내기를 받아들여요.

놀랍게도, 고작 손님 32명의 생일을 확인했는데 벌써 생일이 같은 두 사람을 찾았어요. 지는 걸 인정하고 Ted 삼촌에게 £100를 건네주지만, 뭔가 이상해요.

다음 날, 궁금증을 이기지 못했어요. 인터넷에서 잠깐 검색해 보니 생일 역설이 나오는데, 사람이 고작 23명만 있어도 생일이 겹칠 확률이 50%를 넘는다고 해요.

아. 그래서 Ted 삼촌이 그렇게 자신만만했던 거군요.

이번에는 상황을 뒤집어 볼 작정으로 다른 역설도 찾아보기 시작해요. 다음번에는 여러분이 내기를 거는 쪽이 될 테니까요.

Note

생일 역설은 진위 역설이에요. 틀린 것처럼 느껴지지만, 사실은 맞는 이야기예요.

지침

이 과제는 생일 역설의 확률을 추정하는 것이에요.

이를 위해 다음을 해야 해요:

  • 무작위 생년월일을 만들어요.
  • 무작위로 만든 생년월일 모음 안에 같은 생일을 가진 것이 적어도 두 개 있는지 확인해요.
  • 그룹 크기별로, 그룹 안에서 적어도 두 사람이 같은 생일을 가질 확률을 추정해요.
Note

생년월일은 태어난 날짜 전체(연, 월, 일)를 가리키고, 생일은 매년 반복되는 월과 일만을 가리켜요. 월과 일이 같은 두 생년월일은 같은 생일에 해당해요.

Caution

생일 역설은 다음을 가정해요:

  • 가능한 생일이 365개예요 (윤년은 없어요).
  • 각 생일이 나올 가능성이 모두 같아요 (균등 분포).

구현은 이 가정을 따라야 해요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Tcl Exercism

놀라운 생일 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Tcl 트랙을 연습 문제 135개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.