g1101_1200.s1154_day_of_the_year.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1101_1200.s1154_day_of_the_year;
// #Easy #String #Math #2023_06_01_Time_15_ms_(31.55%)_Space_44.4_MB_(22.53%)
/**
* 1154 - Day of the Year\.
*
* Easy
*
* Given a string `date` representing a [Gregorian calendar](https://en.wikipedia.org/wiki/Gregorian_calendar) date formatted as `YYYY-MM-DD`, return _the day number of the year_.
*
* **Example 1:**
*
* **Input:** date = "2019-01-09"
*
* **Output:** 9
*
* **Explanation:** Given date is the 9th day of the year in 2019.
*
* **Example 2:**
*
* **Input:** date = "2019-02-10"
*
* **Output:** 41
*
* **Constraints:**
*
* * `date.length == 10`
* * `date[4] == date[7] == '-'`, and all other `date[i]`'s are digits
* * `date` represents a calendar date between Jan 1st, 1900 and Dec 31th, 2019.
**/
public class Solution {
public int dayOfYear(String date) {
int[] monthDays = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
String[] dateArr = date.split("-");
int year = Integer.parseInt(dateArr[0]);
int month = Integer.parseInt(dateArr[1]);
int day = Integer.parseInt(dateArr[2]);
int dayCount = 0;
boolean leapYear = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
for (int i = 1; i < month; i++) {
dayCount += monthDays[i];
}
dayCount += day;
if (leapYear && month > 2) {
dayCount++;
}
return dayCount;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy