-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCompare_the_Triplets.scala
116 lines (74 loc) · 3.21 KB
/
Compare_the_Triplets.scala
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
Compare the Triplets
--------------------------------
Link: https://www.hackerrank.com/contests/wissen-coding-challenge-2021/challenges/compare-the-triplets
--------------------------------
Alice and Bob each created one problem for HackerRank. A reviewer rates the two challenges, awarding points on a scale from 1 to 100 for three categories: problem clarity, originality, and difficulty.
The rating for Alice's challenge is the triplet a = (a[0], a[1], a[2]), and the rating for Bob's challenge is the triplet b = (b[0], b[1], b[2]).
The task is to find their comparison points by comparing a[0] with b[0], a[1] with b[1], and a[2] with b[2].
If a[i] > b[i], then Alice is awarded 1 point.
If a[i] < b[i], then Bob is awarded 1 point.
If a[i] = b[i], then neither person receives a point.
Comparison points is the total points a person earned.
Given a and b, determine their respective comparison points.
Example
a = [1, 2, 3]
b = [3, 2, 1]
For elements *0*, Bob is awarded a point because a[0] .
For the equal elements a[1] and b[1], no points are earned.
Finally, for elements 2, a[2] > b[2] so Alice receives a point.
The return array is [1, 1] with Alice's score first and Bob's second.
Function Description
Complete the function compareTriplets in the editor below.
compareTriplets has the following parameter(s):
int a[3]: Alice's challenge rating
int b[3]: Bob's challenge rating
Return
int[2]: Alice's score is in the first position, and Bob's score is in the second.
Input Format
The first line contains 3 space-separated integers, a[0], a[1], and a[2], the respective values in triplet a.
The second line contains 3 space-separated integers, b[0], b[1], and b[2], the respective values in triplet b.
Sample Input 0
5 6 7
3 6 10
Sample Output 0
1 1
Explanation 0
a = (a[0],a[1],a[2]) = (5,6,7)
b = (b[0],b[1],b[2]) = (3,6,10)
In this example:
Now, let's compare each individual score:
a[0]>b[0], so Alice receives 1 point.
a[1]=b[1], so nobody receives a point.
a[2]<b[2], so Bob receives 1 point.
Alice's comparison score is 1, and Bob's comparison score is 1. Thus, we return the array [1,1].
Sample Input 1
17 28 30
99 16 8
Sample Output 1
2 1
Explanation 1
Comparing the 0th elements, 17<99 so Bob receives a point.
Comparing the 1st and 2nd elements, 28>16 and 30>8 so Alice receives two points.
The return array is [2,1].
*/
(Scala Solution)
object Solution {
// Complete the compareTriplets function below.
def compareTriplets(a: Array[Int], b: Array[Int]): Array[Int] = {
var alice = 0;
var bob = 0;
if (a(0) > b(0)) alice += 1 else if (b(0) > a(0)) bob += 1 else alice = alice
if (a(1) > b(1)) alice += 1 else if (b(1) > a(1)) bob += 1 else alice = alice
if (a(2) > b(2)) alice += 1 else if (b(2) > a(2)) bob += 1 else alice = alice
return(Array(alice.toInt,bob.toInt))
}
def main(args: Array[String]) {
val printWriter = new PrintWriter(sys.env("OUTPUT_PATH"))
val a = StdIn.readLine.replaceAll("\\s+$", "").split(" ").map(_.trim.toInt)
val b = StdIn.readLine.replaceAll("\\s+$", "").split(" ").map(_.trim.toInt)
val result = compareTriplets(a, b)
printWriter.println(result.mkString(" "))
printWriter.close()
}
}