[문제]
[풀이 방법]
각 월별로 일수를 배열에 저장한 후, 주어진 두 날짜가 같은 달일 경우에는 일 (day) 만 비교해줍니다.
다른 달일 경우에는 처음 주어진 달에서 두 번째 달까지 배열에 저장된 날짜를 더한 후
(2/13 ~ 5/18 이라면 2,3,4,5 월의 일 수를 모두 더해줌)
그 결과값에서 13 만큼 / 31 - 18 만큼 감소해줍니다.
모든 날짜의 수는 비교 일수를 구한 후 +1을 해줘야 합니다.
int[] day_per_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int result = 0;
if (fm == sm ) {
result = sd - fd + 1;
} else {
result = 0;
for (int i = fm-1; i <= sm-1; i++) {
result += day_per_month[i];
}
result -= fd;
result -= day_per_month[sm-1] - sd;
result += 1;
}
sf.append("#" + (k+1) + " " + result + "\n");
'SWEA > D2' 카테고리의 다른 글
[SWEA 1945][D2][JAVA] 간단한 소인수분해 (0) | 2019.05.14 |
---|---|
[SWEA 1946][D2][JAVA] 간단한 압축 풀기 (0) | 2019.05.09 |
[SWEA 1954][D2][JAVA] 달팽이 숫자 (0) | 2019.05.08 |
[SWEA 1959][D2][JAVA] 두 개의 숫자열 (0) | 2019.05.08 |
[SWEA 1962][D2][JAVA] 숫자 배열 회전 (0) | 2019.05.07 |