1476번 문항 날짜 계산문제 풀이법입니다.
제가 문제를 푼 순서입니다.
1. 변수를 하나 선언한다.
2. 그 변수를 계속해서 증가시킨다. 이와 동시에, E,S,M도 증가를 시킨다.
3. E,S,M 각각의 제한 연도를 넘기면 다시 1부터 센다.
4. 입력한 E,S,M와 일치할 때까지 카운팅을 한다.
5. 일치하면 카운팅을 중단하고 그 변수를 출력한다.
이렇게 풀어야겠다고 생각을 한 다음, 코딩을 진행했습니다.
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 | #include<iostream> using namespace std; int main() { int E, S, M; int count[3] = { 0 }; int realyear = 0; cin >> E >> S >> M; while (1) { for (int i = 0; i < 3; i++) { count[i]++; //E,S,M을 각각 1씩 증가시켜준다. } realyear++; //우리가 사용하는 연도도 1씩 증가시켜준다. if (count[0] == 16) count[0] = 1; //각 E,S,M 의 범위가 넘어가면 1부터 다시 센다. if (count[1] == 29) count[1] = 1; if (count[2] == 20) count[2] = 1; if (count[0] == E && count[1] == S && count[2] == M) //입력한 E,S,M의 값과 일치하는 순간 { cout << realyear; //출력하고 return 0; //프로그램을 마친다. } } return 0; } | cs |
정답확인 완료하였습니다.
'백준 문제풀이 (C++) > 브루트 포스' 카테고리의 다른 글
[브루트 포스] 2309번 일곱 난쟁이 풀이법 (0) | 2020.08.23 |
---|