Lv. 0 - 나이 출력 풀이 과정
문제 설명
머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다.
2022년 기준 선생님의 나이 age
가 주어질 때, 선생님의 출생 연도를 return 하는 solution 함수를 완성해주세요.
제한사항
- 0 ≤ num1 ≤ 120
- 나이는 태어난 연도에 1살이며 매월 1월 1일마다 1살씩 증가합니다.
입출력 예
age | result |
---|---|
40 | 1983 |
23 | 2000 |
입출력 예 설명
3-1) 입출력 예 설명 #1
2022년 기준 40살이므로 1983년생입니다.
3-2) 입출력 예 설명 #2
2022년 기준 23살이므로 2000년생입니다.
프로그래머스에서 제공한 코드
처음 프로그래머스에서 작성된 코드는 아래와 같다.
function solution(age) {
var answer = 0;
return answer;
}
문제 풀이
const solution = age => 2022 - age + 1
console.log(solution(40)); // 입출력 예 설명 #1
console.log(solution(23)); // 입출력 예 설명 #2
함수 선언
- 화살표 함수를 사용하여
age
매개변수를 받는다.
풀이
- 문제 설명에서 2022년 기준으로 선생님의 나이
age
가 주어질 때 선생님의 출생 년도를 구하기 위해 2022 -age
을 해주었다. - 제한사항에서 나이는 태어난 연도에 1살로 되어있어서
age
에 + 1을 해주었다.
결과 반환
-
age
에 40을 대입할 경우 2022 - 40 + 1 = 1983 반환 -
age
에 23을 대입할 경우 2022 - 23 + 1 = 2000 반환
실행
-
console.log(solution(40));
을 호출하면, 1983 을 반환한다. -
console.log(solution(23));
을 호출하면, 2000 을 반환한다.
다른 사람의 풀이 참고
변수를 생략 후 리턴하여 반환하는 풀이 과정이 가장 많았고, 2022년 기준 문제여서 Date
현재 날짜의 객체를 생성 후 getFullYear()
메서드를 사용하여 당시의 연도를 추출하여 적용하는 방식이 있었다.
문제가 현재 년도를 기준으로하면 Date
객체 생성 후 적용하는 풀이가 완벽한 것 같다.
// 변수 생략 적용 (가장 많은 사용자 2372명)
function solution(age) {
return 2022-age+1;
}
// Date 객체 생성 후 적용
function solution(age) {
return new Date().getFullYear() - age + 1;
}
링크
- 문제 링크: 문제 링크
- Git: rarrit github
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges