준호씨의 블로그
hackerrank - Compare the Triplets - Python3 본문
문제: https://www.hackerrank.com/challenges/compare-the-triplets/problem
Alice와 Bob은 각각 해커 랭크 문제 하나씩 만들었습니다. 평가자는 두 문제를 평가하고 점수를 부여합니다. 문제의 명확성, 독창성, 난이도 3가지 카테고리에 1에서 100까지의 점수를 부여합니다.
Alice에 대한 평가를 a=(a[0], a[1], a[2]), Bob에 대한 평가를 b=(b[0], b[1], b[2])로 정의합니다.
당신이 할 일은 그들의 평가를 비교하여 점수를 매깁니다.
a[i] > b[i]이면 Alice가 1점을 얻습니다.
a[i] < b[i]이면 Bob이 1점을 얻습니다.
a[i] = b[i]이면 아무도 점수를 얻지 못합니다.
a와 b가 주어지면 점수를 정하시오.
예를 들어, a=[1,2,3]이고 b=[3,2,1]이 있습니다. a[0]<b[0]이기 때문에 Bob이 점수를 얻습니다. a[1]=b[1]이기 때문에 아무도 점수를 얻지 못합니다. a[2]>b[2]에서 Alice가 1점을 얻습니다. [1,1]을 리턴합니다. 첫 번째는 Alice, 두 번째는 Bob의 점수입니다.
Sample 0을 확인합니다.
5 6 7
3 6 10
첫 번째에서 Alice, 세 번째에서 Bob이 점수를 얻어서
1 1
이 됩니다.
Sample 1도 봅시다.
17 28 30
99 16 8
첫 번째에서 Bob이, 두 번째, 세 번째에서 Bob이 점수를 얻어서
2 1
가 됩니다.
코드를 구현해 봅시다. 템플릿 코드는 다음과 같습니다. compareTriplets함수를 구현하면 됩니다.
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the compareTriplets function below.
def compareTriplets(a, b):
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
a = list(map(int, input().rstrip().split()))
b = list(map(int, input().rstrip().split()))
result = compareTriplets(a, b)
fptr.write(' '.join(map(str, result)))
fptr.write('\n')
fptr.close()
입력을 받아서 list로 만드는 부분까지 이미 구현이 되어 있습니다.
아래처럼 구현해 보았습니다.
def compareTriplets(a, b):
alice = 0
bob = 0
for i in range(3):
if a[i] > b[i]:
alice += 1
elif a[i] < b[i]:
bob += 1
return [alice, bob]
alice, bob의 점수를 0으로 초기화 해 두고, 평가 카테고리 종류만큼 loop를 돌립니다. 3만큼 돌리면 됩니다.
각 평가 카테고리별로 평가를 비교하여 점수를 부여합니다.
완성 코드입니다.
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the compareTriplets function below.
def compareTriplets(a, b):
alice = 0
bob = 0
for i in range(3):
if a[i] > b[i]:
alice += 1
elif a[i] < b[i]:
bob += 1
return [alice, bob]
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
a = list(map(int, input().rstrip().split()))
b = list(map(int, input().rstrip().split()))
result = compareTriplets(a, b)
fptr.write(' '.join(map(str, result)))
fptr.write('\n')
fptr.close()
'개발이야기 > PS - Problem Solving, 알고리즘' 카테고리의 다른 글
hackerrank - Diagonal Difference - Python3 (0) | 2020.05.02 |
---|---|
hackerrank - A Very Big Sum - Python3 (0) | 2020.05.01 |
hackerrank - Simple Array Sum (0) | 2020.04.29 |
hackerrank - Solve Me First (0) | 2020.04.28 |
hackerrank - Birthday Cake Candles (0) | 2020.04.27 |