programming

Hackerrank 프로그래밍 퀴즈 plus minus 풀이 및 해설


by Kitle · 2020. 07. 30.



프로그래밍 퀴즈 - 정수 배열이 주어지면 양수, 음수 및 0 인 요소들의 비율을 계산하시오. 결과는 각 분수의 소수점 값을 출력하라. 해당 문제에 대한 풀이와 솔루션을 알아보겠습니다.


퀴즈 출처 - hackerrank : hackerrank 에서 해당 퀴즈 보기

Github 에서 풀이 보기 : 깃허브로이동

솔루션 :

  1) 각 +, -, 0 의 갯수를 직접 계산하여 list에 넣는다. Result = [] 활용

  2) 비율은 위의 갯수를 전체 갯수로 로 나누면 되므로 len(arr)을 활용해 나누어 준다.

  3) 출력은 소숫점 5자리까지 출력이 필요하므로 format( ,'.5f')를 활용한다.


추가: 카운트를 더 깔끔하게 하는 방식이 있다면 해당 방식으로 개선해보자.


풀이

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the plusMinus function below.
def plusMinus(arr):
result = [0, 0, 0]
for item in arr:
if item > 0:
result[0] += 1
elif item < 0:
result[1] += 1
elif item == 0:
result[2] += 1

for item in result:
print(format(item / len(arr), '.5f'))


if __name__ == '__main__':
n = int(input())

arr = list(map(int, input().rstrip().split()))

plusMinus(arr)