본문 바로가기

프로그래머스 (Swift)/lv 1

[lv1] 추억 점수

문제

 

내 정답 코드

import Foundation

func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
    var result:[Int] = []
    var dic:[String:Int] = [:]
    
    for i in 0..<name.count {
        dic.updateValue(yearning[i], forKey: name[i])
    }
    
    for photo in photo {
        var count = 0
        for name in photo {
            if dic.keys.contains(name) {
                count += dic[name]!
            }
        }
        result.append(count)
    }
    return result
}

 

#

1. dic이라는 딕셔너리를 선언하고,

2. 이름에 따른 점수를 저장한다.

3. photo를 반복문을 돌려 1장의 photo를 가져오고

4. 한 장의 사진의 이름을 모두 가져와 이름에 따른 점수를 count에 더한다.

5. 그렇게 photo의 모든 이름에 대한 점수를 더해 반환한다.


배운 기술

'프로그래머스 (Swift) > lv 1' 카테고리의 다른 글

[lv1] 콜라 문제  (0) 2024.06.12
[lv1] 삼총사  (0) 2024.06.12
[lv1] 문자열 나누기  (0) 2024.06.02
[lv1] 기사단원의 무기  (1) 2024.06.02
[lv1] 가장 가까운 같은 글자  (0) 2024.06.02