[Algorithm] 1. 조 짜기

Fly High!·2020년 8월 19일

Algorithm

목록 보기
1/5
post-thumbnail

Q.

  • 전체 인원 25~40명 범위로 입력 받기
  • 1조 당 인원 5~7명 범위로 입력 받기
  • 조원 이름은 번호(1, 2, 3, 4, ...)로 하기
  • 조이름은 알바벳으로 하기
  • 출력 예시
    전체인원 : 00명
    조당인원 : 0명
    A조 :
    B조 :

A.

import random

whole_mem = int(input('전체 인원 25~40 사이로 입력하세요.'))
squad_num = int(input('1조 당 5~7 사이로 입력하세요.'))

# 범위 내로 입력하지 않는다면 무한으로 입력을 받는다.
while True:
    if 24 < whole_mem < 41:
        break
    else:
        whole_mem = int(input('범위 내로 입력하세요.'))

while True:
    if 4 < squad_num < 8:
        break
    else:
        squad_num = int(input('범위 내로 입력하세요.'))

# 사람 번호는 1번부터 시작
whole_list = list(range(1, whole_mem + 1))

print(f'전체인원 : {whole_mem}명')
print(f'조당인원 : {squad_num}명')

for i in range(whole_mem//squad_num):
    squad = []
    
    while len(squad) < squad_num:
        student = random.choice(whole_list)

        if student not in squad:
            squad.append(student)
            whole_list.remove(student)
    print(chr(ord('@')+(i+1)),'조 :', squad)

if len(whole_list) != 0:
    print(f'남은인원 : {whole_list}')

R.

Ref.

  • 아스키 코드 변환하기
    ord() 함수 : 특정한 한 문자를 아스키 코드 값으로 변환해 주는 함수
    chr() 함수 : 아스키 코드 값을 문자로 변환해 주는 함수 (10진수, 16진수 사용 가능)

  • f-string
    중괄호를 사용하여 직관적이고 간단하게 표현 가능함
    f'~{ }~{ }'

profile
Back-end, Python, Data

0개의 댓글