https://school.programmers.co.kr/learn/courses/30/lessons/176963
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
변수 설정
- yearningDic
: String 형의 Key값으로 그리워하는 사람의 이름, Int 형의 value 값으로 그리움 수치
- result
: 추억 점수를 담은 배열
- sum
: 2차원 배열의 1행의 그리움 합산한 값
풀이)
1. yearningDic 딕셔너리에 key값과 value를 가지도록함
2. 2차원 배열의 1행(1차원 배열)마다 그리운 사람이 있는지 확인하여 있으면 sum에 value 값을 더하고 없으면 0을 더하도록 함
(이때 ??{Nil-Coalescing} 연산자를 이용함)
3. 사진에 그리운 사람의 그리움을 모두 더했으면 result에 추가해주고 다음 행을 읽을때 sum을 0으로 초기화 하였음
4. result 반환
import Foundation
func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
var yearningDic: [String : Int] = [:]
var result = [Int]()
for i in 0..<name.count{
yearningDic[name[i]] = yearning[i]
}
for oneDimensionalArray in photo{
var sum = 0
for people in oneDimensionalArray{
sum = sum + (yearningDic[people] ?? 0)
}
result.append(sum)
}
return result
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT[1차] 프렌즈4블록 (Swift) (0) | 2023.05.24 |
---|---|
[프로그래머스] 공원 산책 (Swift) (0) | 2023.05.22 |
[프로그래머스] 달리기 경주 (Swift) <11,12,13 시간초과> (0) | 2023.04.23 |
[프로그래머스] 카드뭉치 (Swift) (0) | 2023.02.21 |
[프로그래머스] 종이 자르기 (Swift) (0) | 2023.02.10 |