240424-TIL
4월 24일
오늘은 mbti에 관련된 알고리즘 문제 하나를 들고왔다
성격 유형 검사하기

문제는 이렇다 사실 라이언형이나 튜브형이라고 말은 바꿨지만 어디서 많이 들어본게
딱 MBTI 검사와 비슷한 느낌인거 같다.

문제가 꽤나 복잡하고 길어서 다 읽고 이해하기까지가 시간이 오래걸렸다.

솔루션의 초기 상태이다.
이번에는 딕셔너리를 활요하여 문제를 풀어볼 생각이다.

가장 먼저 한일은 두개의 딕셔너리를 만들어둔것이다.
첫 딕셔너리에는 성격유형의 문자와 내가 고른 답변으로 증가시켜줄 정수형을 키,값으로 받아 만들어 두었고
두번째 딕셔너리에는 내가 고른 답변과 그 답변을 골랐을때 첫번째 딕셔너리에 더해줄 정수형을 키,값으로 받아 만들어 주었다.

그 다음으로 해준일은 score딕셔너리에 survey의[i]번쨰 인덱스의 첫번째 문자를 키로 넣어주어 밸류를 가져온다음
addScore에 있는 choices[i]번째 키의 밸류만큼을 더해주었다.

다시 처음으로 가서 봐보자면 addScore의 벨류는 3,2,1,0,-1,-2,-3 이 들어가있는데 애초에 for문으로 돌때
survey[i]의 첫 문자만의 값을 바꿔주어 계산하기 위하여 이렇게 만들어 두었다.

그 다음은 살짝 노가다인데 score의 각 키의 벨류를 비교해서 해당하는 조건의 해당하는 문자를 answer에 넣어주고있다. 사실 가장 힘들었던 순간이었다

짜란
오늘 문제의 가장 힘들었던 점은 문제가 너무 길어서 다 읽고 이해하는것과
조건문을 전부 작성하는게 가장 힘들었던것 같다.
다른 사람들 풀이를 봐도 딕셔너리를 이용해서 문제를 많이 풀었던거 같은데
나처럼 두개의 딕셔너리를 사용해서 푼 사람은 없는것 같다.
4월 24일 TIL은 여기서 마치도록 하겠다.