-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path다단계 칫솔 판매.swift
More file actions
36 lines (29 loc) · 956 Bytes
/
다단계 칫솔 판매.swift
File metadata and controls
36 lines (29 loc) · 956 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//
// 다단계 칫솔 판매.swift
//
//
// Created by chihoooon on 2022/02/13.
//
import Foundation
func solution(_ enroll:[String], _ referral:[String], _ seller:[String], _ amount:[Int]) -> [Int] {
var members: [String: Int] = [:]
var recommenderInfo: [String: String] = [:]
var answer: [Int] = []
for (index, person) in enroll.enumerated() {
members[person] = 0
recommenderInfo[person] = referral[index]
}
for (index, salesman) in seller.enumerated() {
var profit = amount[index] * 100
var recommender = seller[index]
while recommender != "-" && profit > 0 {
members[recommender]! += profit - profit / 10
recommender = recommenderInfo[recommender]!
profit = profit / 10
}
}
for salesman in enroll {
answer.append(members[salesman]!)
}
return answer
}