[백준] Baekjoon Online Judge
문제
졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다.
그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다.
MBTI 신봉자인 연길이는 자신과 정반대인 사람에게 매력을 느낀다. 즉, MBTI의 네가지 지표가 모두 자신과 반대인 사람이 연길이의 이상형이다.
MBTI는 다음과 같은 네 가지 척도로 성격을 표시한다. 각각의 척도는 두 가지 극이 되는 성격으로 이루어져 있다.
지표 | 설명 | ||
외향(Extroversion) | 내향(Introversion) | 선호하는 세계:세상과 타인 / 내면 세계 | |
감각(Sensation) | 직관(iNtuition) | 인식형태: 실제적인 인식/ 실제 너머로 인식 | |
사고(Thinking) | 감정(Feeling) | 판단기준: 사실과 진실 위주 / 관계와 사람 위주 | |
판단(Judging) | 인식(Perceiving) | 생활양식: 계획적인 생활 / 즉흥적인 생활 |
네 가지 척도마다 두 가지 경우가 존재하므로, 총 16가지의 유형이 만들어진다. 유형은 각 경우를 나타내는 알파벳 한 글자씩을 따서 네 글자로 표시한다. 다음은 MBTI의 유형들이다.
구분 | 감각/사고 | 감각/감정 | 직관/감정 | 직관/사고 |
내향/판단 | ISTJ | ISFJ | INFJ | INTJ |
내향/인식 | ISTP | ISFP | INFP | INTP |
외향/인식 | ESTP | ESFP | ENFP | ENTP |
외향/판단 | ESTJ | ESFJ | ENFJ | ENTJ |
연길이가 자신의 이상향을 무사히 찾을 수 있도록 도와주자!
입력
연길이의 MBTI 4글자가 대문자로 주어진다.
출력
연길이의 이상형에 해당하는 MBTI 4글자를 대문자로 출력한다.
풀이
#include <iostream>
using namespace std;
bool check[4];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
string s;
cin >> s;
string es = "ESTJ";
string in = "INFP";
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
if (s[i] == es[j]) check[i] = true;
}
}
for (int i = 0; i < 4; i++) {
if (check[i]) cout << in[i];
else cout << es[i];
}
cout << '\n';
return 0;
}
각 척도를 2개로 분류하고 입력받은 MBTI의 각 척도가 어느 분류에 속하는지를 체크해서 그에 따른 답을 출력하도록 했다.
'백준 > C++' 카테고리의 다른 글
[Baekjoon/C++] 1000번 - A+B (0) | 2024.11.11 |
---|---|
[Baekjoon/C++] 22113번 - 창영이와 버스 (2) | 2024.11.09 |
[Baekjoon/C++] 1940번 - 주몽 (0) | 2024.11.06 |
[Baekjoon/C++] 7795번 - 먹을 것인가 먹힐 것인가 (0) | 2024.11.04 |
[Baekjoon/C++] 1520번 - 내리막 길 (1) | 2024.11.01 |