728x90
반응형
안녕하세요. delay100 입니다!
미들러 문제
1번. 나이 계산하기
https://www.acmicpc.net/problem/16199
만, 세, 연나이를 구하는 문제입니다.
1. 만 나이 = (기준일을 숫자로 변환 - 생일을 숫자로 변환) / 1년 일 수
1~12월까지 매달 31일까지 있다고 가정했습니다. (문제에서 주어진 값이 없기 때문에 가능)
- 1달 = 31일
- 1년 = 12개월 * 1달(31일) = 372일
예를들어,
생일이 2023년 4월 5일이면 년도를 일로 변환 시
년) 2023*12(개월)*31(1달) = 752,556일
월) 4*31(1달) = 124일
일) 5일
생일 총합 = 752,685일
기준일이 2024년 4월 5일이면 년도를 일로 변환 시
년) 2024*12(개월)*31(1달) = 752,928일
월) 4*31(1달) = 124일
일) 5일
기준일 총합 = 753,057일
753057(기준일) - 752685(생일) = 372일
372일 / 년(372일) = 1(정답)
int month = 31;
int year = 12*month;
// temp = 기준일을 숫자로 변환 - 생일을 숫자로 변환
int temp = (sYear*year + sMonth*month + sDay) - (hYear*year + hMonth*month + hDay);
// temp / 1년 일 수
bw.write(Integer.toString(temp / year)+"\n");
2. 세 나이 = 연나이 + 1
3. 연 나이 = 기준년도 - 생일년도
import java.io.*;
import java.util.*;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int month = 31; // 1개월을 31일로 가정
int year = 12*month; // 1년은 12개월*31일
int hYear = Integer.parseInt(st.nextToken());
int hMonth = Integer.parseInt(st.nextToken());
int hDay = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
int sYear = Integer.parseInt(st.nextToken());
int sMonth = Integer.parseInt(st.nextToken());
int sDay = Integer.parseInt(st.nextToken());
int age = sYear - hYear; // 연 나이
// 기준일 - 태어난일
int temp = (sYear*year + sMonth*month + sDay) - (hYear*year + hMonth*month + hDay);
bw.write(Integer.toString(temp / year)+"\n"); // 기준일을 1년으로 나누면 나이가 나옴
bw.write(Integer.toString(age + 1)+"\n"); // 연 나이에서 +1하면 세나이가 나옴
bw.write(Integer.toString(age));
br.close();
bw.close();
}
}
+ 비기너 문제
영수증 https://www.acmicpc.net/problem/25304
+ 챌린저 문제
분해합 https://www.acmicpc.net/problem/2231
봐주셔서 감사합니다. 피드백 환영합니다.
728x90
반응형
'항해99 > 99club1기TIL' 카테고리의 다른 글
[99club/TIL] 6주차 - 금요일 TIL(Today I Learned) (0) | 2024.05.03 |
---|---|
[99club/TIL] 6주차 - 목요일 TIL(Today I Learned) (0) | 2024.05.02 |
[99club/TIL] 6주차 - 화요일 TIL(Today I Learned) (1) | 2024.04.30 |
[99club/TIL] 6주차 - 월요일 TIL(Today I Learned) (0) | 2024.04.29 |
[99club/TIL] 5주차 - 일요일 TIL(Today I Learned) (0) | 2024.04.29 |