[SWIFT] 유니코드 문제

힐링힐링·2023년 10월 25일
0

알고리즘

목록 보기
6/7

프로그래머스

문자 개수 세기 문제

유니코드를 숫자로 변환시켜 비교하여 각 자리에 1을 더한다.

func solution(_ my_string:String) -> [Int] {
    var arr = [Int](repeating: 0, count: 52)
    // 유니코드 대문자 A-Z = 65~90 중간에 특수문자가 섞여있음
    // 유니코드 소문자 a-z = 97~122
    for i in my_string.utf16 {
        print(i)
        if i < 97 {
            arr[Int(i-65)] += 1
        } else {
            arr[Int(i-65-6)] += 1
        }
    }
    return arr
}
print(solution("Programmers"))
profile
블로그 이전합니다 https://james-kim-tech.tistory.com/

0개의 댓글