룰루랄라 코딩기록장
[Baekjoon]백준 1476번 날짜계산 본문
1476번 날짜계산 문제 풀이
문제
- 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) E, S, M이 주어졌고, 1년이 준규가 사는 나라에서 1 1 1일때, 준규가 사는 나라에서 E S M이 우리가 알고 있는 연도로 몇 년인지 구하는 프로그램을 작성하시오.
입력
- 첫째 줄에 세 수 E, S, M이 주어진다. 문제에 나와있는 범위를 지키는 입력만 주어진다.
출력
- 첫째 줄에 E S M으로 표시되는 가장 빠른 연도를 출력한다. 1 1 1은 항상 1이기 때문에, 정답이 음수가 나오는 경우는 없다.
예시
입력
1 16 16
1 1 1
1 2 3
15 28 19
출력
16
1
5266
7980
풀이
- 입력 받을 변수 e,s,m을 선언한다.
- e,s,m과 같은 값인지 비교할 E,S,N을 선언한다.
- 무한루프인 for문을 선언한 후 e,s,m과 E,S,M이 모두 같아질 때 까지 i를 증가시킨다.
- 모두 같다면 i를 출력하고 무한루프를 종료한다.
- E,S,M을 1씩 증가시키며 범위를 초과하면 다시 1로 초기화 시킨다.
코드
#include<iostream>
using namespace std;
int main() {
int e, s, m;
int E=0, S=0, M = 0;
cin >> e >> s >> m;
for (int i = 0;; i++) {
if (e == E && s == S && m == M) {
cout << i << endl;
break;
}
E += 1;
S += 1;
M += 1;
if (E == 16)
E = 1;
if (S == 29)
S = 1;
if (M == 20)
M = 1;
}
return 0;
}
'Algorithm > 브루트포스' 카테고리의 다른 글
[Baekjoon]백준 1182번 부분수열의 합 (0) | 2019.04.30 |
---|---|
[Baekjoon]백준 6603번 로또 (0) | 2019.04.24 |
[Baekjoon]백준 10971번 외판원순회2 (0) | 2019.04.24 |
[Baekjoon]백준 9095번 1,2,3더하기 (0) | 2019.04.22 |
[Baekjoon]백준 14500번 테트로미노 (0) | 2019.04.22 |
Comments