새소식

Programmers Coding Test/Java

[프로그래머스 120820] Java - 코딩테스트 입문 / 나이 출력

  • -

 

나이 출력

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/120820

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

1)  문제

머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.
제한사항
0 < age ≤ 120
나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다.

 

 

 

2)  예시

 

 

Result Table
age result
40 1983
23 2000

 

 

 

입출력 예 #1
2022년 기준 40살이므로 1983년생입니다.


입출력 예 #2
2022년 기준 23살이므로 2000년생입니다.

 

 

 

 

3)  풀이

 


1. 클래스 선언을 해줍니다

● class Solution {

클래스명은 대문자로 시작해야하고, 정답이라는 의미로 Solution이라는 단어를 사용하였습니다.

 

 

 

 

2. 메소드 선언을 해줍니다.

● public int solution(int age){

정수인 age를 매개변수로 사용하는 solution 메소드를 선언해줍니다.

메소드의 결과값인 solution 또한 정수값으로 나오므로, 데이터 타입은 모두 int로 해줍니다.

 

 

 

 

3. age 값에 따라 달라지는 출생연도는 result라는 변수값으로 저장되게하고, 초기값 0을 이용하여 초기화해줍니다.
 int result = 0;

 

 

 

 

4. 문제의 제한사항에서 age는 0이상 120이하이므로 조건문 if를 사용하여줍니다.

그리고 그 조건이 만족할 경우, 조건문 안에서 result 값은 출생연도가 되도록합니다.

● if(0<= age && age <=120) {
            result = (2022 - age) +1;
        }
 

 

※ 왜 result = (2022 - age) + 1 일까?

문제의 제한사항을 확인했을 때, 나이는 태어난 연도에 1살임을 알 수 있습니다.

그러므로 +1을 해주어 이를 만족시키도록 합니다.

ex) 1살일 경우 2021년 출생이 아니라 2022년 출생이 되도록해야함.

 

 

 

 

5. 결과값으로 나온 것을 result로 반환해줍니다.
 return result;

 

 

 

 

4)  코드

 

class Solution {
    public int solution(int age) {
        int result = 0;
        if(0<= age && age <=120) {
            result = (2022 - age) +1;
        }
        return result;
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.