관리 메뉴

Jerry

[HackerRank] Compare the Triplets (JavaScript) 본문

Problem Solving/Algorithm 문제 풀기

[HackerRank] Compare the Triplets (JavaScript)

juicyjerry 2020. 11. 8. 20:07
반응형

 


Given an array of integers, find the sum of its elements.For example, if the array , ,  ar = [1, 2, 3], 1 +2 + 3 = 6, so return 6.

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.

 

Constraints

 

  • 1 ≤ a[i] ≤ 100
  • 1 ≤ b[i] ≤ 100

 

Solution

 

function compareTriplets(a, b) {
    let ret = [0, 0];
    for (let i = 0; i < 3; i++) {
        if (a[i] > b[i]) {
            ret[0]++;
        } else if (a[i] < b[i]) {
            ret[1]++;
        }
    }
    return ret;
}

 

Solution 해설

 

  1. 매개 변수 a와 b에 정수 3개씩 들어있는 배열가 들어간다.
  2. 먼저,  배열 ret에 ret[0]은 Alice가, ret[1]은 Bob의 total point이다.
  3. loop를 배열의 길이만큼 돌려 각 회차마다 대소 비교를 한다.
  4. 대소비교 중 a가 크면 alice가 +1, b가 크면 bob이 +1을 획득한다. 
  5. loop가 종료된 후, ret을 리턴한다.

 

참고한 사이트

 

-

반응형