1 | 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. |
Swift 코드
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
struct Person{
var name: Int
var score: Int
var regex: [Int]
}
func solution(_ answers:[Int]) -> [Int] {
var resultArray: [Int] = []
var persons: [Person] = [
.init(name: 1, score: 0, regex: [1,2,3,4,5]),
.init(name: 2, score: 0, regex: [2,1,2,3,2,4,2,5]),
.init(name: 3, score: 0, regex: [3,3,1,1,2,2,4,4,5,5])
]
for i in 0 ..< answers.count{
let answer = answers[i]
var firstPerson = persons[0]
var secondPerson = persons[1]
var thirdPerson = persons[2]
if firstPerson.regex[i % 5] == answer {
firstPerson.score += 1
persons[0] = firstPerson
}
if secondPerson.regex[i % 8] == answer {
secondPerson.score += 1
persons[1] = secondPerson
}
if thirdPerson.regex[i % 10] == answer {
thirdPerson.score += 1
persons[2] = thirdPerson
}
}
let max = persons
.map { $0.score }
.max()
guard let maxValue = max,
maxValue > 0 else { return resultArray }
for i in 0 ..< persons.count{
if persons[i].score == maxValue{
resultArray.append(persons[i].name)
}
}
return resultArray.sorted()
}
1 | struct Person{ |