300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DFS
- PYTHON
- 동적 프로그래밍
- 동적프로그래밍
- linux
- 코딩 테스트
- 네트워크
- AI
- 브루트포스
- 리눅스
- 파이썬
- 운영체제
- 백준
- kick start
- OS
- nlp
- BFS
- 딥러닝
- google coding competition
- 프로그래밍
- 코딩
- 코딩테스트
- 프로그래머스
- 그래프
- 순열
- 킥스타트
- 구글 킥스타트
- dp
- 알고리즘
- CSS
Archives
- Today
- Total
오뚝이개발자
[백준1476] 날짜 계산 본문
728x90
300x250
문제
https://www.acmicpc.net/problem/1476
1476번: 날짜 계산
준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) 우리가 알고있는 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1
www.acmicpc.net
풀이
핵심 방법론은 브루트 포스다!!! 말 그대로 문제의 조건에 따라서 E,S,M에 1씩 더해주고 그 때마다 year도 1씩 더해준다. 이 때, S,E,M이 상한을 넘어가면 나머지 계산을 해주고 이 과정을 세 변수가 input과 유사해질 때까지 반복한 후 year를 출력하면 정답!!
코드
E_max = 15
S_max = 28
M_max = 19
a = list(map(int, input().split()))
E, S, M = a[0], a[1], a[2]
year = 0
x, y, z = 0, 0, 0
while True:
if(x==E and y==S and z==M):
break
x = x%E_max + 1
y = y%S_max + 1
z = z%M_max + 1
year+=1
print(year)
728x90
300x250
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준9095] 1, 2, 3 더하기 (0) | 2020.03.08 |
---|---|
[백준14500] 테트로미노 (0) | 2020.03.08 |
[백준2309] 일곱 난쟁이 (0) | 2020.03.05 |
[백준6588] 골드바흐의 추측 (0) | 2020.03.04 |
[백준9613] GCD 합 (0) | 2020.03.04 |
Comments