Python 19 - Quiz

2021. 5. 11. 19:11python

반응형

문제

당신은 K-map 서비스를 이용하는 택시 기사님 입니다.

50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하시오.

 

 

조건

조건1: 승객별 운행 소요 시간은 5분 ~ 50분 사이의 난수로 정해집니다.

조건2: 당신은 소요 시간 5분 ~ 15분 사이의 승객만 매칭해야 합니다.

 

 

예제

(출력문 예제)

[O] 1번째 손님(소요시간: 15분)

[] 2번쨰 손님(소요시간: 50분)

[O] 3번째 손님(소요시간: 5분)

...

[] 50번째 손님(소요시간: 16분)

총 탑승 승객: 2분

 

풀이

1.

승객별 운행 소요시간은 5~50분 사이의 난수로 이뤄지기 때문에 random을 import한다.

그리고, 총 탑승 승객 수로 cnt 라는 변수에 담아본다.

 

2.

for문을 활용하여 1~50명의 승객수로 일일이 반복해서 출력하고

그 안에 if문을 넣어서 그 50명중에 해당조건에 맞는 승객들을 따로 확인한다.

 

3. 

승객별 운행 소요시간은 5~50분 이기 때문에 

time = randrange(5,51) 로 5~50에 난수를 출력하고

 

4.

if 문으로 내가 탑승시켜야하는 운행 소요시간이 5분~15분인 승객들을 골라내기위해

if 5 <= time <= 15 : 

를 작성하고, cnt += 1 로 해당되는 인원들을

위에서 정의한 총 탑승 승객 수에 추가한다.

 

5.

마무리로 print("총 탑승 승객 : {0}분" .format(cnt)) 를 작성하여

예제에 맞게끔 정답을 출력한다.

 

 

 

정답

from random import *
cnt = 0  # 총 탑승 승객수
for i in range(1, 51):  # 1~50까지의 수를 리스트변환없이 그냥 출력
    time = randrange(5, 51)  # 5~50 의 난수를 출력
    if 5 <= time <= 15:  # 5분에서 15분 사이에 승객만 탑승
        print("[O] {0}번째 손님 (소요시간: {1}분)" .format(i, time))
        cnt += 1  # 총 탑승 승객수 증가
    else:
        print("[ ] {0}번째 손님 (소요시간: {1}분)" .format(i, time))

print("총 탑승 승객 : {0}분" .format(cnt))

 

정답 예시

[ ] 1번째 손님 (소요시간: 16분)
[ ] 2번째 손님 (소요시간: 17분)
[O] 3번째 손님 (소요시간: 14분)
[ ] 4번째 손님 (소요시간: 43분)
[O] 5번째 손님 (소요시간: 8분) 
[ ] 6번째 손님 (소요시간: 34분)
[O] 7번째 손님 (소요시간: 8분) 
[ ] 8번째 손님 (소요시간: 25분)
[ ] 9번째 손님 (소요시간: 35분)
[ ] 10번째 손님 (소요시간: 48분)
[ ] 11번째 손님 (소요시간: 35분)
[O] 12번째 손님 (소요시간: 12분)
[ ] 13번째 손님 (소요시간: 47분)
[ ] 14번째 손님 (소요시간: 38분)
[ ] 15번째 손님 (소요시간: 30분)
[O] 16번째 손님 (소요시간: 13분)
[ ] 17번째 손님 (소요시간: 42분)
[ ] 18번째 손님 (소요시간: 48분)
[ ] 19번째 손님 (소요시간: 47분)
[ ] 20번째 손님 (소요시간: 23분)
[ ] 21번째 손님 (소요시간: 36분)
[ ] 22번째 손님 (소요시간: 50분)
[ ] 23번째 손님 (소요시간: 28분)
[ ] 24번째 손님 (소요시간: 43분)
[O] 25번째 손님 (소요시간: 12분)
[O] 26번째 손님 (소요시간: 5분)
[ ] 27번째 손님 (소요시간: 39분)
[ ] 28번째 손님 (소요시간: 40분)
[ ] 29번째 손님 (소요시간: 29분)
[ ] 30번째 손님 (소요시간: 37분)
[ ] 31번째 손님 (소요시간: 33분)
[ ] 32번째 손님 (소요시간: 19분)
[ ] 33번째 손님 (소요시간: 24분)
[ ] 34번째 손님 (소요시간: 43분)
[ ] 35번째 손님 (소요시간: 19분)
[O] 36번째 손님 (소요시간: 15분)
[ ] 37번째 손님 (소요시간: 47분)
[ ] 38번째 손님 (소요시간: 42분)
[ ] 39번째 손님 (소요시간: 17분)
[ ] 40번째 손님 (소요시간: 37분)
[ ] 41번째 손님 (소요시간: 35분)
[ ] 42번째 손님 (소요시간: 29분)
[ ] 43번째 손님 (소요시간: 41분)
[ ] 44번째 손님 (소요시간: 27분)
[ ] 45번째 손님 (소요시간: 50분)
[ ] 46번째 손님 (소요시간: 27분)
[ ] 47번째 손님 (소요시간: 43분)
[O] 48번째 손님 (소요시간: 5분)
[ ] 49번째 손님 (소요시간: 35분)
[ ] 50번째 손님 (소요시간: 18분)
총 탑승 승객 : 9분

반응형

'python' 카테고리의 다른 글

Python 21 - Quiz  (0) 2021.05.13
Python 20 - Quiz  (0) 2021.05.12
Python 18 - Quiz  (0) 2021.05.10
Python 17 - 예외처리, 에러발생시키기  (0) 2021.05.09
Python 16 - pass, super  (0) 2021.05.08