https://www.acmicpc.net/problem/20540
문제분석
입력은 MBTI가 문자열로 주어지고 4가지 지표가 모두 반대되는 MBTI를 출력해야한다.
문제풀이
지표 | 설명 | ||
외향(Extroversion) | 내향(Introversion) | 선호하는 세계:세상과 타인 / 내면 세계 | |
감각(Sensation) | 직관(iNtuition) | 인식형태: 실제적인 인식/ 실제 너머로 인식 | |
사고(Thinking) | 감정(Feeling) | 판단기준: 사실과 진실 위주 / 관계와 사람 위주 | |
판단(Judging) | 인식(Perceiving) | 생활양식: 계획적인 생활 / 즉흥적인 생활 |
문제에 이런 표가 그려져 있어서 이에 착안하여, 지표부분 표의 왼쪽 열과 오른쪽 열의 내용을 담은 리스트를 두개 만들기로 했다(['E','S','T','J'], ['I','N','F','P'])
그리고 입력 받은 문자열을 loop를 돌면서 한글자씩 미리 만들어놓은 리스트 두개중에 어디에 속하는지를 검사한다(in 사용). 그리고 속하지 않은 나머지 리스트에서 같은 인덱스의 요소를 출력하면 된다. 같은 범주의 지표를 리스트의 같은위치에(인덱스가 같게) 있게 리스트를 만들었기 때문에 가능하다.
arr1 = ['E','S','T','J']
arr2 = ['I','N','F','P']
mbti = input()
res = ''
for c in mbti:
if c in arr1:
index = arr1.index(c)
print(arr2[index], end='')
else:
index = arr2.index(c)
print(arr1[index], end='')
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] #14681 사분면 고르기 (0) | 2023.01.06 |
---|---|
[백준/Python] #2739 구구단을 외자 x2 (0) | 2023.01.06 |
[백준/python] 5361번 전투 드로이드 가격 (0) | 2023.01.06 |
[백준/Python] #15917 노솔브 방지문제야!! (0) | 2023.01.06 |
[백준/C++] 2742번: 기찍 N (0) | 2023.01.05 |