https://www.acmicpc.net/problem/1476
문제
완전탐색문제로써 직접 돌려주면된다.
입력
첫번째 줄 => E, S, M 값이 한줄로 주어진다.
풀이 1
주어진 숫자가 나올때까지 1을 추가시켜준다.(조건에 맞게 범위를 넘지않게 설정)
e, s, m 값에 1을 추가시킬 때마다 year에 1을 추가 시켜준다. 입력으로 주어진 값이 나오면 year을 출력해준다.
# 1476번 날짜 계산
E, S, M = map(int, input().split())
e, s, m, year= 1, 1, 1, 1
while (e, s, m) != (E, S, M):
e += 1
if e == 16:
e = 1
s += 1
if s == 29:
s = 1
m += 1
if m == 20:
m = 1
year += 1
print(year)
출력결과
풀이 2
조건을 만족하는 연도가 나올 때까지 증가시켜서 푸는건 풀이1과 동일하다.
대신 시간소모가 더 적다.
# 1476번 날짜 계산
E, S, M = map(int, input().split())
Y = 1
while True:
if ((Y - E) % 15 == 0) and ((Y - S) % 28 == 0) and ((Y - M) % 19 == 0):
break
Y += 1
print(Y)
출력결과
'백준 > 완전 탐색' 카테고리의 다른 글
[백준] 1644번 소수의 연속합 - 파이썬 (0) | 2022.02.07 |
---|---|
[백준] 2003번 수들의 합 2 - 파이썬 (0) | 2022.02.06 |
[백준] 1806번 부분합 - 파이썬 (0) | 2022.02.06 |
[백준] 16943번 숫자 재배치 - 파이썬 (0) | 2022.02.05 |
[백준] 1051번 숫자 정사각형 - 파이썬 (0) | 2022.02.05 |