© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 7572 - 간지(干支)

2025-07-15
BOJ
브론즈 II
python
원본 문제 보기
수학
구현
사칙연산

문제

BOJ 7572 - 간지(干支)

연도 N이 주어지면 그 해의 간지(십간+십이지)를 출력하는 문제이다. 십간은 10년 주기, 십이지는 12년 주기를 가지며 특정 기준 연도를 기준으로 나머지 연산으로 구한다.

입력

첫째 줄에 연도 N이 주어진다. (1 이상의 정수)

출력

해당 연도의 간지를 한 줄에 출력한다. 십간 문자(AL) 1개와 십이지 숫자(09)를 이어 출력한다.

예제

입력출력
4A0
14A0
2010G6

풀이

나머지 연산만으로 십간과 십이지를 동시에 계산하는 수학적 구현 문제이다.

  1. 십이지(십이지지)는 12가지이며, 기준 연도 4를 빼고 12로 나눈 나머지로 "ABCDEFGHIJKL" 문자열에서 인덱스를 얻는다.
  2. 십간(십천간)은 10가지 숫자(0~9)이며, 연도에 6을 더한 후 10으로 나눈 나머지를 숫자로 출력한다.
  3. 두 결과를 이어 붙여 한 줄로 출력한다.

핵심 아이디어: 특정 기준 연도(N=4 → A0)로부터 각 주기에 맞는 오프셋을 설정하면 단 한 줄의 식으로 간지를 계산할 수 있다.

코드

N = int(input())
print("ABCDEFGHIJKL"[(N - 4) % 12] + str((N + 6) % 10))

복잡도

  • 시간: O(1)
  • 공간: O(1)