규도자 개발 블로그

[해커랭크(Hackerrank)/Problem Solving/파이썬3(python3)] Birthday Cake Candles 본문

알고리즘/풀이

[해커랭크(Hackerrank)/Problem Solving/파이썬3(python3)] Birthday Cake Candles

규도자 (gyudoza) 2019. 3. 9. 15:42

You are in charge of the cake for your niece's birthday and have decided the cake will have one candle for each year of her total age. When she blows out the candles, she’ll only be able to blow out the tallest ones. Your task is to find out how many candles she can successfully blow out.

For example, if your niece is turning  years old, and the cake will have  candles of height , she will be able to blow out  candles successfully, since the tallest candles are of height  and there are  such candles.

Function Description

Complete the function birthdayCakeCandles in the editor below. It must return an integer representing the number of candles she can blow out.

birthdayCakeCandles has the following parameter(s):

  • ar: an array of integers representing candle heights

Input Format

The first line contains a single integer, , denoting the number of candles on the cake. 
The second line contains  space-separated integers, where each integer  describes the height of candle .

Constraints

Output Format

Print the number of candles that can be blown out on a new line.

Sample Input 0

4
3 2 1 3

Sample Output 0

2

Explanation 0

We have one candle of height , one candle of height , and two candles of height . Your niece only blows out the tallest candles, meaning the candles where . Because there are  such candles, we print  on a new line.

풀이

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the birthdayCakeCandles function below.
def birthdayCakeCandles(ar):
    return ar.count(max(ar))

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    ar_count = int(input())

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

    result = birthdayCakeCandles(ar)

    fptr.write(str(result) + '\n')

    fptr.close()

설명

당신의 생일이라 케이크에 나이만큼의 초가 꽂히는데 초는 각각의 길이를 갖고 있다. 당신은 초를 끄기 위해 단 한 번의 바람만 불 수 있는데 초끼리의 길이차이가 엄청나게 커서 한 번에 끌 수 있는 초는 제일 기다란 초 뿐이다. 이때 꺼트릴 수 있는 초의 갯수를 구하라는 게 문제이다.

 문제에서 주어진 예제로 설명하자면 당신은 4살이고 초는 총 네개, 3 2 1 3의 길이를 가진 초가 케잌에 꽂혀있다. 당신은 가장 긴 길이 3의 초에 바람을 불어 2개의 초를 끌 수 있다. 파이썬 내장함수를 이용하여 간단하게 해결하였다. 


Comments