나이 출력

1. 문제 


2. 나의 풀이

 

현재 년도의 year를 int타입으로 받아서 age를 빼는 수식을 생각하였다.

import java.util.Calendar;

class Solution {
    public int solution(int age) {
		int answer = 0 ;
		
		Calendar cal = Calendar.getInstance();
		
		int year = cal.get(Calendar.YEAR)+1;
		answer = year -(age);
		
	    return answer;
	}
}

3. 답

 

다른 사람분이 풀은 코드를 비교를 해보았다. 나의 코드는 4줄이고 아래코드는 1줄이다. 

import java.time.*;
class Solution {
    public int solution(int age) {
        LocalDate today = LocalDate.now();
        return today.getYear() - age + 1;
    }
}

4. 공부한 부분

 

현재 날짜 년,월, 시간 구하기(Calendar 객체 사용)

객체형성을 하여 get(Calendar.YEAR); 년도만 로 추출할 수 있음. 

import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;

public class test {
	public static void main(String[] args) throws ParseException {
		Date now = new Date();
		
		Calendar cal = Calendar.getInstance(); 
		cal.setTime(now);
		
		int year = cal.get(Calendar.YEAR);
		int month = cal.get(Calendar.MONTH) + 1; //0부터 시작하기 때문에 1더해준다
		int day = cal.get(Calendar.DAY_OF_MONTH);
		int hour = cal.get(Calendar.HOUR_OF_DAY);
		int min = cal.get(Calendar.MINUTE);
		int sec = cal.get(Calendar.SECOND);
		System.out.println(year + "년도 " + month + "월 " + day + "일 " + hour + "시 " + min + "분 " + sec + "초");
	}
}

LocalDate today = LocalDate.now();

todat.getYear() --> 현재 년도 추출 방식도 알아두면 유용할 듯 하다.

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

두 수의 차  (0) 2022.11.21
두 수의 곱  (0) 2022.11.21
몫 구하기  (0) 2022.11.21
다음에 올 숫자  (0) 2022.11.21
옹알이(1) - 문제풀이  (0) 2022.11.21