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.
Constraints
- 1 ≤ a[i] ≤ 100
- 1 ≤ b[i] ≤ 100
Sample Input 0
5 6 7
3 6 10
Sample Output 0
1 1
Explanation 0
In this example:
Now, let's compare each individual score:
- , so Alice receives point.
- , so nobody receives a point.
- , so Bob receives point.
Alice's comparison score is , and Bob's comparison score is . Thus, we return the array .
Sample Input 1
17 28 30
99 16 8
Sample Output 1
2 1
Explanation 1
Comparing the elements, so Bob receives a point.
Comparing the and elements, and so Alice receives two points.
The return array is .
제출 JAVA ]
풀이 ]
1. BufferedReader와 BufferedWriter를 활용하여 Input, Output데이터를 처리한다.
InputSteamReader(System.in)과 OutputStreamWriter(System.out)은 콘솔로 데이터를 받고 내보내기 위함이다.
2. Stream은 자바8에서 추가된 기능으로, Array/Collection 자료형들의 요소를 하나씩 참조해 람다를 이용해 반복적으로 처리 가능하게 한다.
.split.map.collection 함수를 통해 콘솔로 받은 String을 " "을 토큰으로 나누고, Integer형으로 값을 변환 후, 스트림을 리스트로 변환해 제네릭타입 변수에 넣는다.
즉 콘솔에 11 22 33 란 값을 입력하면 List [11, 22, 33]으로 변환한다.
3. compareTriplets(a, b) 함수를 통해 a[i] 와 b[i] ( i는 반복문 변수)를 비교해 결과 값을 새로운 List변수 result에 담는다.
a[i]가 크면 result[0] 값에 +1이 되고 b[i]가 크면 result[1] 값에 +1이 된다.