세상의 모든 정보

날짜만 듣고 요일을 알아 맞추는 신기한 방법!! - 둠스데이 알고리즘

김몬몬 2024. 9. 29. 23:15
반응형

특정 날짜가 무슨 요일인지 궁금할 때, 대부분의 사람들은 달력이나 인터넷에 의존하게 됩니다.

하지만 알고 보면 수학적인 방법을 통해 날짜만 듣고 요일을 계산할 수 있다는 사실, 알고 계셨나요?

 

오늘은 그 방법 중 하나인 둠스데이 알고리즘(Doomsday Algorithm)과 몇 가지 다른 요일 계산법을 소개해 드리려고 합니다.

이 방법들을 알면, 그냥 머릿속 계산만으로 특정 날짜가 무슨 요일인지 알 수 있게 될 거예요!

 

날짜만으로 요일 찾기 - 둠스데이

 

    둠스데이 알고리즘(Doomsday Algorithm)

둠스데이 알고리즘은 1970년대 수학자인 존 호튼 콘웨이(John Horton Conway)가 고안한 날짜와 요일을 계산하는 방법입니다.

이 알고리즘을 사용하면 주어진 연도의 특정 날짜가 무슨 요일인지 빠르게 알아낼 수 있습니다.

처음에는 조금 복잡해 보일 수 있지만, 한번 이해하고 나면 꽤 간단하게 사용할 수 있어요! 

 

    둠스데이 알고리즘의 주요 개념

1) 둠스데이(Doomsday) 날짜

둠스데이 알고리즘에서 중요한 개념은 ‘둠스데이’인데요, 매년 같은 요일에 위치하는 특정 날짜들을 의미합니다. 예를 들어, 매년 4월 4일이나 6월 6일은 같은 요일에 속합니다. 이 둠스데이를 기준으로 다른 날짜들의 요일을 계산하는 것이죠. 여기 대표적인 둠스데이 날짜들이 있습니다:

  • 1월 3일 (윤년의 경우 1월 4일)
  • 2월 28일 (윤년의 경우 2월 29일)
  • 4월 4일, 6월 6일, 8월 8일, 10월 10일, 12월 12일
  • 5월 9일, 7월 11일, 9월 5일, 11월 7일

2) 해당 연도의 둠스데이 요일 찾기

매년 둠스데이 날짜는 같지만, 해당 연도의 둠스데이가 무슨 요일인지는 해마다 달라집니다. 그래서 먼저 그 연도의 둠스데이가 무슨 요일인지 알아야 해요.

    둠스데이 계산 방법

  1. 연도의 마지막 두 자리 수를 취합니다. 예를 들어, 2024년이라면 24를 사용합니다.
  2. 4로 나누어 떨어지는 몫을 구합니다. 24를 4로 나누면 결과는 6입니다.
  3. 이 두 숫자를 더합니다. 24 + 6 = 30
  4. 100년 단위의 기준 요일을 더합니다. 2000년대는 화요일(2)입니다 (1900년대는 수요일, 1800년대는 금요일).
  5. 7로 나눈 나머지를 구합니다. 30 + 2 = 32, 32를 7로 나눈 나머지는 4입니다. 이는 요일 중 목요일을 의미합니다.

    100년 단위 조정

둠스데이 알고리즘은 세기(100년)마다 기준 요일이 달라집니다.

예를 들어, 1900년대와 2000년대는 둠스데이 요일이 다를 수 있죠. 이를 고려해 다음과 같이 기준을 세울 수 있어요:

  • 1900년대: 둠스데이 기준 수요일
  • 2000년대: 둠스데이 기준 화요일
  • 2100년대: 둠스데이 기준 일요일

이 기준을 바탕으로 다른 세기의 날짜들도 쉽게 계산할 수 있습니다.

 

예시)

2023년의 둠스데이를 계산하기 위해서는 다음 단계를 따릅니다:

연도의 마지막 두 자리 수를 취합니다. 예를 들어, 2023년이라면 23을 사용합니다.
4로 나누어 떨어지는 몫을 구합니다. 23을 4로 나누면 결과는 5입니다.
이 두 숫자를 더합니다. 23 + 5 = 28
100년 단위의 기준 요일을 더합니다. 2000년대는 화요일(2)입니다.
7로 나눈 나머지를 구합니다. 28 + 2 = 30, 30을 7로 나눈 나머지는 2입니다. 이는 요일 중 화요일을 의미합니다.
따라서, 2023년의 둠스데이는 화요일입니다.

    간단한 암기법

둠스데이 알고리즘을 완벽하게 익히지 않더라도, 몇 가지 기억하기 쉬운 연도의 요일을 암기하면 요일을 추론하는 데 큰 도움이 됩니다. 예를 들어:

  • 2000년 1월 1일토요일
  • 1900년 1월 1일월요일
  • 2024년 1월 1일월요일

이러한 기초 날짜를 알고 있으면, 이를 기준으로 근처 날짜들의 요일을 추측할 수 있습니다.

 

    간단한 계산법을 사용하는 다른 방법들

Zeller's Congruence (젤러의 공식)

Zeller’s Congruence는 서기 1582년 이후의 날짜에 대한 요일을 계산할 수 있는 수학적 공식입니다. 이 공식을 사용하면 복잡한 암기 없이도 정확한 요일을 계산할 수 있습니다.

공식은 다음과 같습니다:

h = (q + [(13(m + 1)) / 5] + K + [K / 4] + [J / 4] - 2J) mod 7

 

여기서,

  • h: 요일 (0 = 토요일, 1 = 일요일, 2 = 월요일, …, 6 = 금요일)
  • q: 일
  • m: 월 (1월과 2월은 각각 13월, 14월로 취급되고, 연도는 하나 줄어듭니다)
  • K: 연도의 마지막 두 자리 숫자
  • J: 연도의 처음 두 자리 숫자

예를 들어, 2024년 7월 4일의 요일을 계산하면 다음과 같습니다:

  • q = 4
  • m = 7
  • K = 24 (2024년의 마지막 두 자리)
  • J = 20 (2024년의 처음 두 자리)

공식을 계산하면 4일이 목요일임을 알 수 있습니다.

    연습과 응용

처음에는 요일 계산이 어렵게 느껴질 수 있지만, 꾸준히 연습하면 점점 빠르게 요일을 알아맞출 수 있습니다.

간단한 암기법과 수학적 방법을 병행하면, 친구들에게 놀라운 요일 맞추기 마법을 보여줄 수 있을 것입니다!

 

   결론

이제 날짜를 듣고 무슨 요일인지 바로 계산할 수 있는 방법을 알게 되셨죠?

둠스데이 알고리즘과 젤러의 공식을 활용하면 복잡한 날짜도 빠르게 요일을 알아낼 수 있습니다.

연습을 통해 요일 계산 실력을 키우고, 실생활에서도 재미있고 유용하게 활용해 보세요!

 

아래는 활용/응용편입니다! 

 

 

 

둠스데이 알고리즘 활용편: 날짜만 듣고 요일 맞추기 실전 팁

앞선 글에서 둠스데이 알고리즘을 알려드렸습니다!이제 기본 원리와 방법은 다 익히셨죠?이글이 처음이라면 아래의 글을 먼저 읽고 와주세요!   날짜만 듣고 요일을 알아 맞추는 신기한 방법!

muhoc.com

 

 

 

날짜만으로 요일 찾기 - 둠스데이

반응형