일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 11053
- 매일11시
- Python
- lcm
- 순열
- 홈화면
- 11057
- 앱
- 11기
- LCS
- 코틀린
- itertools
- expo
- 11054
- permutation
- 1182
- Kotlin
- 백준
- 파이썬
- 코테
- 괄호
- Android
- 최소공배수
- 9095
- 뒤로가기
- Combination
- 1260
- 안드로이드
- 6603
- 나머지
Archives
- Today
- Total
황소개발자
백준 1476 파이썬 python : 날짜 계산 @@황소처럼 우직하게@@ 어렵게 생각하지 마세요 본문
반응형
난 이 문제 심각하게 고민했다
주어진
e, s, m 을보고 지금 년도를 추측하라니..
주어진 esm에서 먼저 e만큼 각 자리에 대해 빼주고, 그 다음은 s만큼, 그 다음은 m만큼..
뺄 때 세개다 0이되면 종료
아니라면 다시 15로 넘어가거나 28로 넘어가거나..
나머지 연산에 대해 심오한 생각을 가지고있었다.
근데
가만히 보니 시간이 2초다
2억번의 계산을 할 수 있는 시간이다
매우 충분한 시간이지
마지막 예제를 보니 7580년인거 보니
최대 년도가 저거인거 같다.
저기서 1을 더하면 다시 1 1 1이 되니까 ㅋ
하튼
2초안에 다룰 수 있다는 걸 판단한 이후에는
브루트포스 답게 매우 간단하게 풀었다.
답은 아래 코드와 같다.
import sys
input = sys.stdin.readline
E, S, M = map(int, input().split())
year = 0
e, s, m = 0, 0, 0
while True:
year += 1
e = (e + 1) % 16 if (e + 1) % 16 !=0 else 1
s = (s + 1) % 29 if (s + 1) % 29 !=0 else 1
m = (m + 1) % 20 if (m + 1) % 20 !=0 else 1
if e == E and s == S and m == M:
print(year)
break
반응형
'백준 문제 풀이' 카테고리의 다른 글
백준 10972 파이썬 python : 다음 순열 @@황소처럼 우직하게@@ 가자 이 개쉐이야~ (0) | 2020.02.28 |
---|---|
백준 9095 파이썬 python : 1, 2, 3 더하기 @@황소처럼 우직하게@@ 숏코딩 (0) | 2020.02.28 |
나머지 모듈 연산에 대하여 : 오버플로우 방지 [+ * - /] (0) | 2020.02.27 |
백준 2309 파이썬 python : 일곱 난쟁이 @@황소처럼 우직하게@@ 최적화를 고려하세요 (0) | 2020.02.27 |
파이썬에서 삼항연산자는 이렇게 사용하자 (0) | 2020.02.27 |
Comments