ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Swift] 추억 점수
    Coding Test 2023. 11. 2. 23:27

    [내 풀이]

    import Foundation
    
    func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
        var result:[Int] = []
        var resultValue:Int = 0
        var currentNumber:Int = 0
           
            for currentArray in photo {
                resultValue = 0
                for currentName in currentArray {
                    currentNumber = 0
                    for person in name {
                     if person == currentName {
                         resultValue += yearning[currentNumber]
                     }
                    currentNumber += 1
    
                }
            }
                result.append(resultValue)
        }
        return result
    }

     

     

    생각해볼 것

    1) forEach문 사용 : Collection의 배열 만큼 반복하고 클로저를 실행

    2) Dcitonary 사용

    import Foundation
    func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
        var dic = [String: Int]()
        
        // name 개수만큼 반복 -> index 추출을 위함
        (0..<name.count).forEach { dic[name[$0]] = yearning[$0]}
        
        //2차원 배열 -> 1차원 배열로 변환
        return photo.map { $0.reduce(0, { $0 + (dic[$1] ?? 0)}) }
    }

    'Coding Test' 카테고리의 다른 글

    [Swift] 크기가 작은 부분 문자열  (0) 2023.11.15
    [Swift] 소수 판별  (1) 2023.11.14
    [Swift] 내적  (0) 2023.11.12
    [Swift] 음양 더하기  (0) 2023.11.06
    [Swift] 정수 제곱근 판별  (0) 2023.10.19
Designed by Tistory.