728x90
반응형
문제 풀기 전 생각 :
/*
e s m 을 모두 입력받고
변수 세개를 선언하고 1으로 초기화한다.
count 변수를 만들고 1로 초기화 한다.
반복문으로 이 변수들을 1씩 증가시키며
입력받은 e s m 과 같다면 count을 출력한다.
그리고 조건문으로 e는 15보다 크다면
s 는 28보다 크다면 그리고 m은 19보다 크다면 1로 초기화한다.
*/
#include <iostream>
using namespace std;
int main() {
int answer[3];
cin >> answer[0] >> answer[1] >> answer[2];
int e=1,s=1,m=1;
int count = 1;
while(count++){
if((e == answer[0]) && (s == answer[1]) && (m == answer[2]) ) {
cout << count-1 << endl;
break;
}
if(++e > 15) e = 1;
if(++s > 28) s = 1;
if(++m > 19) m = 1;
}
return 0;
}
https://www.acmicpc.net/problem/1476
풀 때 어려웠던 점 또는 느낀점 :
단순한 방법은 쉽게 떠올릴수 있었다.
좀 더 효율적인 방법이 있는지 궁금하다.
그리고 이런 이상한 방법으로 날짜를 계산한다니...
현실에선 그렇지 않음에 감사해야겠다.
개선방안 :
#include <stdio.h>
int main(){
int n,E,S,M;
scanf("%d %d %d",&E,&S,&M);
for(n=1;;n++){
if((n%15==E%15)&&(n%28==S%28)&&(n%19==M%19)) break;
}
printf("%d",n);
}
참 간단한 방법이다...
저걸 생각 못했네...
충분히 떠올릴수 있는 방법인데...담부턴 저렇게 풀어야겠다.
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[JAVA] [백준 5355] 화성 수학 (pps 5-2) (0) | 2021.07.18 |
---|---|
[C++] [백준 2163] 초콜릿 자르기 (pps 5-1) (0) | 2021.07.18 |
[C++] [백준 1712] 손익분기점 (pps 4-8) (0) | 2021.07.18 |
[C++] [프로그래머스] 하샤드 수 (pps 4-7) (0) | 2021.07.18 |
[C++] [leetCode 258] Add Digits (pps 4-6) (1) | 2021.07.18 |
댓글