[Baekjoon] #6888 (Terms of Office)

REi·2025년 2월 5일

Baekjoon 브론즈 IV

목록 보기
25/28

> 문제


> 핵심 내용

  • 시장 4년, 회계 담당자 2년, 최고 프로그래머 3년, 개포획자 5년 주기
  • 모든 직책이 변경되는 모든 연도를 나열하는 프로그램을 짜야함
  • 이는 최소공배수 주기마다 발생함
    - 4, 2, 3, 5의 최소공배수는 60
    - 60년 주기로 모든 직책이 변경됨
    -시작연도 +60년를 리스트에 담으면 됨

> 결과

> 결과 코드

# 백준 #6888 (Terms of Office) 브론즈 4 

# 프로그램의 목적 ) 연도 X와 미래 연도 Y를 입력받아 X부터 Y까지(포함) 모든 직책이 변경되는 모든 연도를 나열하는 프로그램 

# 시장 4년, 회계 담당자 2년, 최고 프로그래머 3년, 개포획자 5년

# 입력 1 ) year_X , 해당 연도에 모든 직책이 변경됨 
year_X = int(input())
# 입력 2 ) year_Y, 미래 연도 
year_Y = int(input())

# 모든 직책이 변경되는 모든 연도를 포함하는 리스트 
year_list = []

# 최소공배수 주기마다 발생함 !! 60년 마다 
# 최소공배수 (LCM) 계산: 4, 2, 3, 5의 최소공배수는 60년
lcm_period = 60  

# year_X부터 year_Y까지 모든 직책이 변경되는 연도를 찾음
year = year_X  # 시작 연도
while year <= year_Y:
    year_list.append(year)
    year += lcm_period  # 60년씩 증가

# 출력: X부터 Y까지 모든 직책이 변경되는 모든 연도 나열
for year in year_list:
    print("All positions change in year", year)

0개의 댓글