알고리즘/프로그래머스

[프로그래머스/swift] 성격 유형 검사하기

녕이 2022. 12. 7. 13:17
728x90

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

사전에 유형들을 넣어주고 switch문을 통해서 점수에 따라 값을 추가해줬다.

그 후, 더 큰 애를 answer에 넣어주는데 여기서 같은 점수라면 사전적으로 빠른 애를 넣어준다.

 

import Foundation

func solution(_ survey:[String], _ choices:[Int]) -> String {
    var personalityDictionary : [Character: Int] = ["R":0, "T":0, "C":0, "F":0, "J":0, "M":0, "A":0, "N":0]
    var answer = ""
    for i in 0..<survey.count {
        switch choices[i] {
        case 1...3:
            personalityDictionary[survey[i].first!]! += 3 - choices[i] + 1
        case 5...7:
            personalityDictionary[survey[i].last!]! += choices[i] - 4
        default:
            continue
        }
    }
    answer += personalityDictionary["R"]! >= personalityDictionary["T"]! ? "R" : "T"
    answer += personalityDictionary["C"]! >= personalityDictionary["F"]! ? "C" : "F"
    answer += personalityDictionary["J"]! >= personalityDictionary["M"]! ? "J" : "M"
    answer += personalityDictionary["A"]! >= personalityDictionary["N"]! ? "A" : "N"
    return answer
}

 

이 코테를 도전했던 것 같다.ㅋㅋㅋㅋㅋㅋㅋㅋ

그때는 제대로 못한 것 같은데 다시 풀어보니 쉬웠다...

발전한 것인가..!! swift는 최고야

 

728x90