Notice
Recent Posts
Recent Comments
준호씨의 블로그
hackerrank - Plus Minus - Python3 본문
반응형
문제: https://www.hackerrank.com/challenges/plus-minus/problem
정수 배열이 있습니다. 정수, 음수, 0인 요소의 분수를 계산하시오. 각 분수의 소수점 값을 한 줄씩 출력하시오.
Note: 정밀성 문제가 있습니다. 테스트 케이스는 소수점 이하 6자리이지만 최대 10^-4의 절대 오류는 허용합니다.
여기 까지만 문제를 읽으면 조금 이해가 가지 않습니다. 다음 내용을 계속 읽어 봅니다.
arr = [1,1,0,-1,-1]이 있으면 5개의 요소가 있습니다. 두 개는 두 개는 양수, 두 개는 음수, 하나는 0입니다. 2/5 = 0.400000, 2/5 = 0.400000, 1/5 = 0.200000이고 다음과 같이 출력됩니다.
0.400000
0.400000
0.200000
즉, 배열에서 양수, 음수, 0의 개수를 총 개수로 나눈 값을 구하는 문제입니다.
Sample Input
6
-4 3 -9 0 4 1
Sample Output
0.500000
0.333333
0.166667
양수 3개, 음수 2개, 0이 1개 해서 3/6 = 0.500000, 2/6 = 0.333333, 1/6 = 0.166667입니다.
코드 템플릿입니다.
#!/bin/python3
import math
import os
import random
import re
import sys
# Complete the plusMinus function below.
def plusMinus(arr):
if __name__ == '__main__':
n = int(input())
arr = list(map(int, input().rstrip().split()))
plusMinus(arr)
plusMinus함수를 완성합니다.
def plusMinus(arr):
len_arr = len(arr)
n = 0
z = 0
p = 0
for num in arr:
if num < 0:
n += 1
elif num == 0:
z += 1
else:
p += 1
print(p / len_arr)
print(n / len_arr)
print(z / len_arr)
양수, 음수, 0의 개수를 구하고 총길이로 나눈 값을 출력합니다.
반응형
'개발이야기 > PS - Problem Solving, 알고리즘' 카테고리의 다른 글
hackerrank - Grading Students - Python3 (0) | 2020.05.06 |
---|---|
hackerrank - Sock Merchant - Python3 (0) | 2020.05.05 |
hackerrank - Diagonal Difference - Python3 (0) | 2020.05.02 |
hackerrank - A Very Big Sum - Python3 (0) | 2020.05.01 |
hackerrank - Compare the Triplets - Python3 (0) | 2020.04.30 |
Comments