[C언어 코드업 문제풀이] CodeUp 1168 : 나이 계산 1

코드업 1168번 나이 계산 문제 풀이 해답입니다.

 

1. 문제 설명

 

주민등록번호는 생년월일과 성별정보, 지역정보로 이루어진다.

여기서 생년월일과 성별정보만 입력으로 받겠다.

성별 정보는 1이면 1900년대 출생 남자, 2이면 1900년대 출생 여자, 3이면 2000년대 출생 남자, 4이면 2000년대 출생 여자를 말한다.

기준년도는 2012년도이다. 현재 나이를 출력하시오. 

예)

790101 1        =====> 성별정보가 1이므로, 1979년생, 34살이다.

080521 4        =====>  성별정보가 4이므로, 2008년생,  5살이다.

 

2. 입력

 

생년월일(6자리)과 성별정보(1자리)가 공백으로 분리되어 정수로 주어진다.

 

3. 출력

 

2012년도에 현재 나이를 출력하시오.

 

4. 입력 예시

 

790101 1

 

5. 출력 예시

 

34

 

6. 문제 풀이

 

#include <stdio.h>
 
 
int main (void)
{
    
    int front, rear, age;
    scanf("%d %d",&front&rear);
    
    if((rear == 1||(rear == 2) ){
        
        age = 112 - (int)(front * 0.0001+ 1;
        printf("%d",age);
    }
    else{
        age = 12 - (int)(front * 0.0001+ 1;
        printf("%d",age);
    }
    return 0;
}
 
 

 

기준 년도는 2012년입니다.

00년생 이전은 112-태어난해 +1 , 이후는 12-태어난해 +1 을 통해 나이를 구할 수 있습니다.

주민등록번호 앞자리가 입력되므로 ex. 790101 앞의 2자리를 분리하기 위해 * 0.0001 를 곱하고 정수로 캐스팅 해줍니다.

790101 -> 79.0101    (int) 79.0101  = 79

 

그리고 if문을 통해서 00년 이전 출생인 뒷자리 1,2 와 아닌 경우를 구분해서 나이 계산을 해줍니다.

 

댓글()