| 문제
머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다.
2022년 기준 선생님의 나이 age가 주어질 때,
선생님의 출생 연도를 return하는 solution 함수를 완성해주세요.
| 제한 사항
- 0 < age ≤ 120
- 나이는 태어난 연도에 1살이며 매년 1월 1일마다 1살씩 증가합니다.
| 입출력 예
age | result |
40 | 1983 |
23 | 2000 |
| 풀이 1
public int solution01(int age) {
return 2022 - age +1;
}
| 풀이 2
import java.time.LocalDate;
public int solution02(int age) {
LocalDate today = LocalDate.now();
return today.getYear() - age +1;
}
| 해설
2022년 기준 본인의 나이와 출생연도를 알고 있다면 누구나 쉽게 풀 수 있는 문제입니다.
2022년에 나이가 23살이라면 2021년에는 22살이었을 거고...
이렇게 쭉 내려가다 보면 2000연도에 1살이었다는 결론에 도달할 수 있지요.
즉, 2022이라는 올해 년도에 나이만큼 뺀 다음 1을 더하면 태어난 해를 알 수 있습니다.
특정 인물이 태어난 년도나 나이를 알아내는 것은 쉬운 로직이지만
2022년의 나이를 통해 추측하기보다는 올해의 나이를 통해 추측할 일이 더 많지요.
그래서 문제의 정답은 아니지만 풀이 2는 문제에서 올해의 나이가 주어졌다고 생각하고 풀어봤습니다.
LocalDate 객체를 통해 오늘의 날짜 중 연도를 추출하고 풀이 1과 같은 로직으로 계산했습니다.
도움이 되었길 바랍니다.
'개발 > 개발 공부' 카테고리의 다른 글
[프로그래머스] 코딩테스트 입문 : 문자열 뒤집기 (0) | 2024.09.02 |
---|---|
[프로그래머스] 코딩테스트 입문 : 배열 뒤집기 (0) | 2024.09.02 |
[프로그래머스] 코딩테스트 입문 : 아이스 아메리카노 (0) | 2024.08.30 |
[프로그래머스] 코딩테스트 입문 : 옷가게 할인 받기 (0) | 2024.08.30 |
[프로그래머스] 코딩테스트 입문 : 배열의 평균값 (0) | 2024.08.30 |
댓글