최대 1 분 소요

풀이

비가역의 역을 계산하라는 문제라서 처음볼때는 “와 이거 어케 품?” 이소리가 나왔다

상식적으로 역을 계산하는 알고리즘을 짜기에는 너무 힘들기 때문에…

따라서 차라리 부르트포스 방법을 사용하여 시간이 많이 걸리더라도 while 문으로 처음부터 카운팅하여 조건이 나올때까지 반복하는 방법을 택하였다.

코드

# 1476 날짜 계산

a , b , c ,year = 1,1,1,1

a1,b1,c1 = map(int,input().split())
# 솔직히 비가역의 역을 구하는건 너무 어렵다.. 따라서 while 문으로 나올때까지 반복

# 처음 1 1 1 은 그냥 출력하고 나머지는 카운트
if a1 == b1 == c1 == 1 :
    print(1)
    
# while 문으로 1식 증가 시키며 
# input 값과 같으면 break
else :
    while (True):
        year +=1 
        a += 1
        b += 1
        c += 1 
        
        if a == 16 :
            a = 1
        if b == 29 :
            b = 1
        if c == 20 :
            c = 1
        
        if (a1 == a) & (b1 == b) & (c1 == c):
            print(year)
            break

마무리

알고리즘을 구현하는데 너무 힘이 든다면 차라리 부르트 포스로 구해보자

카테고리:

업데이트:

댓글남기기