목차
1. 참조 자료
관련 동영상: https://youtu.be/Qz740r1IV3o
2. 퀴즈
당신은 카카오 서비스를 이용하는 택시 기사이다. 50명의 승객과 매칭 기회가 있을 때, 총 탑승 승객 수를 구하는 프로그램을 작성하라.
- 조건 1: 승객별 운행 소요시간은 5분 ~ 50분 사이의 난수로 정한다.
- 조건 2: 소요 시간이 5분 ~ 15분 사이의 승객만 매칭한다.
출력 예시:
[O] 1번째 손님 (소요시간 : 15분)
[X] 2번째 손님 (소요시간 : 50분)
[O] 3번째 손님 (소요시간 : 5분)
...
[X] 50번째 손님 (소요시간 : 16분)
총 탑승 승객 : 8명
3. 해설 및 코드
다음 연산자를 활용한다:
- 할당 연산자(+=): 변수 값 증가
- 조건문(if): 특정 조건 만족 시 코드 실행
비밀번호 생성 코드:
import random
cnt = 0 # 총 탑승 승객 수
for i in range(1, 51):
time = random.randrange(5, 51) # 5 ~ 50분 사이 무작위 선택
if 5 <= time <= 15:
print(f"[O] {i}번째 손님 (소요시간 : {time}분)")
cnt += 1
else:
print(f"[X] {i}번째 손님 (소요시간 : {time}분)")
print(f"총 탑승 승객 : {cnt}명")
4. 레포트/h2>
당신은 버스를 운전하는 기사이다. (10 + 학번의 맨 뒷자리 수)개의 정류장을 들린 후, 버스에 남은 승객 수를 계산하라.
- 조건 1: 초기 탑승 승객은 (학번의 맨 뒷자리 수)명이다.
- 조건 2: 정류장별 탑승 승객은 5명 ~ 10명 사이의 난수로 정한다.
- 조건 3: 정류장별 하차 승객은 2명 ~ 5명 사이의 난수로 정한다.
출력 예시 (학번이 3으로 끝나는 경우):
1번째 승강장: 탑승 = 5명, 하차 = 3명, 탑승객 = 5명
2번째 승강장: 탑승 = 7명, 하차 = 2명, 탑승객 = 10명
3번째 승강장: 탑승 = 6명, 하차 = 5명, 탑승객 = 11명
...
13번째 승강장: 탑승 = 6명, 하차 = 5명, 탑승객 = 50명
버스 승객 수 계산 코드:
import random
student_id = 8 # 학번 끝자리
num_stops = 10 + student_id
passengers = student_id
for i in range(1, num_stops + 1):
get_on = random.randint(5, 10)
get_off = random.randint(2, 5)
passengers += get_on - get_off
print(f"{i}번째 승강장: 탑승 = {get_on}명, 하차 = {get_off}명, 탑승객 = {passengers}명")