문제
주민등록증의 번호가 주어지면 주민등록증 주인의 나이와 성별을 판단하여 출력하는 프로그램
을 작성하세요. 주민등록증의 번호는 -를 기준으로 앞자리와 뒷자리로 구분된다.
뒷자리의 첫 번째 수가 1이면 1900년대생 남자이고, 2이면 1900년대생 여자, 3이면 2000년대
생 남자, 4이면 2000년대생 여자이다.
올해는 2019년입니다. 해당 주민등록증 주인의 나이와 성별을 출력하세요.
▣ 입력설명
첫 줄에 주민등록증 번호가 입력됩니다.
▣ 출력설명
첫 줄에 나이와 성별을 공백을 구분으로 출력하세요. 성별은 남자는 M(man), 여자는
W(Woman)로 출력한다.
문제풀이
1) 입력되는 값이 981231-2xxxx 등으로 연속으로 들어오며 이 중에서 첫 두 숫자가 의미가 있고 7번째 인덱스에 위치한 숫자만 의미가 있으므로 인덱스로 접근한다.2) 접근하여 정수 연산을 수행한다. (문자도 정수 연산이되므로 -'0'을 통해 우리가 원하는 정수값을 구한다.)3) 조건에 따라 출력을 결정한다.
#include <iostream>
using namespace std;
int main()
{
string s;
cin>>s;
int a[2];
a[0]=(s[0]-'0')*10+s[1]-'0';
a[1]=(s[7]-'0');
if (a[1]==1)
{
cout<<119-a[0]+1<<" ";
cout<<'M';
}
else if (a[1]==2)
{
cout<<119-a[0]+1<<" ";
cout<<'W';
}
else if (a[1]==3)
{
cout<<19-a[0]+1<<" ";
cout<<'M';
}
else
{
cout<<19-a[0]+1<<" ";
cout<<'W';
}
}
'C C++ > C C++ 알고리즘 문제 기타' 카테고리의 다른 글
[C/C++] 4번. 나이 차이 - it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 (0) | 2023.03.14 |
---|---|
[C/C++] 3번. 진약수의 합 - it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 (0) | 2023.03.14 |
[C/C++] 2번. 자연수의 합 - it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 (0) | 2023.03.14 |
[C/C++] 1번. 1부터 N까지 M의 배수합 - it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비 (0) | 2023.03.14 |
[C/C++] DFS 61. 특정 수 만들기(DFS : MS 인터뷰) (1) | 2022.10.22 |
댓글