백준#1476 날짜 계산

정은경·2022년 7월 12일
0

알고리즘

목록 보기
121/125

1. 문제

2. 나의 풀이

2-1. brute-force

"""
백준#1476
https://www.acmicpc.net/problem/1476
"""

"""
esm에 해당하는 연도 구하기
"""


def add_esm_year(esm):
    e, s, m = [x+1 for x in esm]

    if m > 19:
        m -= 19
    if s > 28:
        s -= 28
    if e > 15:
        e -= 15

    return [e, s, m]


def convert_esm_into_year(target_esm):
    esm = [1, 1, 1]
    year = 1
    while True:
        if esm == target_esm:
            return year
            break
        year += 1
        esm = add_esm_year(esm)


e, s, m = [int(x) for x in input().split(" ")]
print(convert_esm_into_year([e, s, m]))

2-2. 수학적인 방법 적용 (시간초과)

"""
백준#1476
https://www.acmicpc.net/problem/1476
"""

"""
esm에 해당하는 연도 구하기
"""


def find_year(e, s, m):
    # 수학적으로 year를 찾는 방법
    year = 0
    while True:
        year += 1
        if year % 15 != e:
            continue
        if year % 28 != s:
            continue
        if year % 19 != m:
            continue
        return year


def solve2():
    e, s, m = [int(x) for x in input().split(" ")]
    print(find_year(e, s, m))


solve2()
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글