60갑자 변환하기

leverest96·2023년 1월 16일
0

Algorithm

목록 보기
1/2
post-thumbnail

기억하자. 어려웠던 알고리즘 ver1

Scanner sc = new Scanner(System.in);

List<String> tengan = Arrays.asList("갑", "을", "병", "정", "무", "기", "경", "신", "임", "계");
List<String> teneasy = Arrays.asList("자", "축", "인", "묘", "진", "사", "오", "미", "신", "유", "술", "해");

String year;

int defaultYear;

do {
	System.out.print("60갑자를 입력하세요.:");

	year = sc.next();

	defaultYear = 0;

	int a = 0;
	int b = 0;

	for (int i = 0; i < 10; i++) {
		if (year.contains(tengan.get(i))) {
			a = tengan.indexOf(tengan.get(i));
		}
	}
	for (int i = 0; i < 12; i++) {
		if (year.contains(teneasy.get(i))) {
			b = teneasy.indexOf(teneasy.get(i));
		}
	}

	if (a < b) {
		b-=12;
	}

	int n = a - b;

	if (n == 0) {
		defaultYear = b;
	} else {
		defaultYear = 12 * (n/2) + b;
	}

	defaultYear += 1744;

	for (int allYear = defaultYear; allYear <= 2100; allYear+=60) {
		if (allYear < 1800) {
			continue;
		}
		System.out.print(allYear + " ");
	}
	System.out.println();
} while (year != "종료");
profile
응애 난 애기 개발자

0개의 댓글