본문 바로가기

1Day 1Algo

[HackerRank] Python (Basic) Certificate

1) average function

1개 이상의 가변적인 인자를 avg 함수에서 받은 후

해당 인자들의 평균을 출력하는 문제였다.

 

Python에서는 * 를 사용하면, 가변적인 인자를 받을 수 있다.

해당 인자들은 tuple 로 감싸진다.

 

def avg(*nums):
    return sum(nums)/len(nums)

 

2) string-representation-of-object

먼저, 케이스 개수 N이 주어진다.

N에 맞춰 Boat의 경우 max_speed만, Car는 max_speed와 speed_unit 이 입력된다.

 

입력을 다 받은 후에는 다음과 같이 출력하면 된다.

Boat의 경우, "Boat with the maximum speed of {} knots".format(max_speed)

Car의 경우, "Car with the maximum speed of " + str(max_speed) + " " + str(speed_unit)

 

다만 객체를 생성한 후, 리턴되는 값을 출력하는 방식이기 때문에

__str__() 을 통해 위 문장을 반환하면 된다.

 

class Car:
    def __init__(self, max_speed, speed_unit):
        self.max_speed = max_speed
        self.speed_unit = speed_unit
    
    def __str__(self):
        return "Car with the maximum speed of " + str(max_speed) + " " + str(speed_unit)
        

class Boat:
    def __init__(self, max_speed):
        self.max_speed = max_speed

    def __str__(self):
        return "Boat with the maximum speed of {} knots".format(max_speed)