티스토리 뷰
// 그 해의 남은 일수 구하기
public class Q9 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int retry;
System.out.println("그 해 남 일수를 구합니다");
do {
System.out.print("년 : ");
int year = scanner.nextInt();
System.out.print("월 : ");
int month = scanner.nextInt();
System.out.print("일 : ");
int day = scanner.nextInt();
System.out.printf("남은 일수는 %d일입니다.\n", remainDayOfYear(year, month, day));
System.out.print("한 번 더 할까요? (1.예 / 0.아니요) : ");
retry = scanner.nextInt();
} while (retry == 1);
}
static int[][] mdays = {
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, // 평년 0
{ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, // 윤년 1 [1][11]
};
// 윤년 1 , 평년 0
static int isLeap(int year) {
return (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? 1 : 0;
}
// days에서 지금까지의 날을 빼면 남은 일수
static int remainDayOfYear(int y, int m, int d) {
int days = ( isLeap(y) == 1 ? 366 : 365 ) - d;
for (int i = 0; i < m-1; i++) {
days -= mdays[isLeap(y)][i];
}
return days;
}
}
(1)
// 서기 y년 m월 d일의 연내의 남은 일 수를 구합니다.
static int leftDayOfYear(int y, int m, int d) {
int days = d; // 일수
for (int i = 1; i < m; i++) // 1월~(m-1)월의 일 수를 더함
days += mdays[isLeap(y)][i - 1];
return 365 + isLeap(y) - days;
}
(2)
- 윤년일때와 평년일때를 구분한뒤에 남은 일 수 빼기
- 답안과 유사하게 풀이한듯
※참조
Do it! 자료구조와 함께 배우는 알고리즘 입문
'PS > etc' 카테고리의 다른 글
우테코 3기 코테 후기 (0) | 2020.11.07 |
---|---|
chapter3-Q3) 배열에서의 검색 (0) | 2020.07.13 |
chapter2) 그 해의 경과 일 수 구하기 (0) | 2020.07.09 |
chapter2) 소수 구하기 (0) | 2020.07.09 |
chapter2) 10진수 변환 (0) | 2020.07.08 |
링크
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 드림코딩
- HTTP 완벽가이드
- HTTP 완벽 가이드
- js promise
- 이펙티브자바 스터디
- 백기선 스터디
- 김영한 JPA
- 이펙티브자바
- java
- http
- 패스트캠퍼스 컴퓨터공학 완주반
- ㅇㄷㅇㅈ
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 이펙티브자바 아이템60
- js api
- js array
- GCP
- 이펙티브자바 아이템59
- 모던자바스크립트
- BOJ
- 김영한 http
- REST API
- JPA 연관관계 매핑
- dreamcoding
- 프로그래머스
- 프로그래머스 SQL
- Spring Security
- 킹수빈닷컴
- JS 딥다이브
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함