본문 바로가기

알고리즘

해커랭크 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


요약하자면 두 배열의 같은 index의 원소 값을 비교하여 높은 배열에 점수를 +1 , 동점이면 0 을 매겨셔 배열로 반환해라. 

더보기

* 일단 문제가 영어로 되어있으면 매우 어려워 보인다 

(그래도 이번계기를 통해서 알고리즘 공부 열심히 하기로 했으니깐, 포기하지 말고 꾸준히 연습해봐야겠다.)

import Foundation

// Complete the compareTriplets function below.
func compareTriplets(a: [Int], b: [Int]) -> [Int] {

    var result = [Int]()
    var aScore: Int = 0
    var bScore: Int = 0

    for i in 0..<a.count {
        if a[i] > b[i] {
            aScore = aScore + 1
        } else if a[i] < b[i] {
            bScore = bScore + 1
        }
    }
    result = [aScore, bScore]

    return result
}

 

해커랭킹은 입력값도 필요없고 빈 부분만 채워서 완성하면, 코드를 자동으로 채워서 컴파일 해준다. 

 

'알고리즘' 카테고리의 다른 글

[LeetCode] Two Sum  (0) 2021.08.31
해커랭크 Staircase  (0) 2020.09.11
해커랭크 Diagonal Difference 문제풀이  (0) 2020.09.05