sorted()
함수는 리스트를 크기 기준 오름차순으로 정렬한다.
a_list = [3, 2, 1, 4, 5]
sorted_list = sorted(a_list)
sorted_list
아래 코드에서 rev_sorted_list
변수가 a_list
를 크기 기준 오름차순으로 정렬한 리스트를 참조하도록 None
값을 적절한 표현식으로 대체하라.
즉, 아래가 성립해야 한다.
rev_sorted_list = [5, 4, 3, 2, 1]
힌트: sorted()
함수의 키워드 인자 활용
# None을 sorted(a_list, ...) 형식의 표현식으로 대체해야 함
# sorted() 함수의 키워드 인자를 반드시 사용해야 함.
# 단순히 리스트를 입력하면 0점 처리됨.
rev_sorted_list = None
print(rev_sorted_list)
datetime
모듈의 datetime
객체가 아래와 같이 주어졌다.
dt = datetime(2021, 3, 14, 15, 5, 20)
변수 current_time
이 아래 문자열을 가리키도록 아래 코드를 완성하라.
current_time_string = "오늘은 2021년 3월 14일이고, 현재 시각은 오후 3시 5분 20초입니다."
힌트: datetime 객체의 다양한 메서드 활용 및 적절한 f-문자열 지정
from datetime import datetime, date, time
dt = datetime(2021, 3, 14, 15, 5, 20)
# 추가 코드가 필요하면 여기에 작성
# None을 적절한 f-문자열로 대체하라.
# datetime 객체의 다양한 메서드를 사용할 것.
# current_time_string에 사용된 문자열을 그대로 작성할 경우 0점 처리됨.
current_time = None
print(current_time)
0부터 10까지의 수 중에서 3의 배수를 제외한 항목으로 이루어진 리스트를 생성하도록 아래 코드를 완성하라.
즉, list10
변수는 최종적으로 아래 값을 가리켜야 한다.
[1, 2, 4, 5, 7, 8, 10]
힌트: for
반복문과 continue
예약어 활용
# pass 예약어를 적절한 코드로 대체하세요.
# for 반복문을 range() 함수와 함께 활용
list10 = []
pass
print(list10)
리스트를 입력 받아 사전으로 변환하는 list_enum()
함수를 정의하라.
단, 키는 항목의 인덱스를 사용한다.
예제:
list_enum(['a', 'b', 'c']) = {0: 'a', 1: 'b', 2: 'c'}
list_enum([4, 6, 9, 2]) = {0: 4, 1: 6, 2: 9, 3: 2}
힌트: enumerate()
함수 활용
# 추가 코드가 필요하면 여기에 작성
# pass 부분을 적절한 코드로 대체할 것
def list_enum(xs):
idx_dict = {}
pass
return idx_dict
print(list_enum(['a', 'b', 'c']))
print(list_enum([4, 6, 9, 2]))
문자열로 이루어진 리스트가 입력되었을 때 아래 항목들을 갖는 사전 객체를 반환하는 함수 list2dic()
함수를 구현하라.
반한된 사전의 항목은 아래 형식을 갖는다.
힌트: list2dic()
함수는 아래와 같이 작동해야 한다.
list2dic([2, 5, 2, 3, 3, 2]) = {2: [0, 2, 5], 3: [3, 4], 5: [1]}
list2dic([15, 3, 15, 1, 3, 8]) = {1: [3], 3: [1, 4], 8: [5], 15: [0, 2]}
힌트: enumerate()
함수, 리스트의 count()
메서드,
collections
모듈의 defaultdict
클래스를 이용한다.
참고: 사전 기본값 처리
from collections import defaultdict
# 추가 코드가 필요하면 여기에 작성
# pass 부분을 적절한 코드로 대체할 것
# None 값을 적절한 표현식으로 대체할 것
def list2dic(xs):
pass
return None
print(list2dic([2, 5, 2, 3, 3, 2]))
print(list2dic([15, 3, 15, 1, 3, 8]))
리스트를 인자로 받아서 사용된 항목의 개수를 반환하는 함수
count_elem()
를 구현하라.
단, 중복 항목은 하나로 간주한다.
count_elem()
함수는 아래와 같이 작동해야 한다.
count_elem([2, 5, 2, 3, 3, 8, 2, 7]) = 5
count_elem([15, 3, 15, 1, 3]) = 3
힌트: set()
함수 활용
# 추가 코드가 필요하면 여기에 작성
# pass 부분을 적절한 코드로 대체할 것
# None 값을 적절한 표현식으로 대체할 것
def count_elem(xs):
pass
return None
print(count_elem([2, 5, 2, 3, 3, 8, 2, 7]))
print(count_elem([15, 3, 15, 1, 3]))
0부터 10까지의 자연수 중에서 3으로 나눈 나머지가 2인 수의 제곱으로 이루어진 리스트를 조건제시법으로 정의하라. 즉, 아래 리스트를 조건제시법으로 생성해야 한다.
[4, 25, 64]
힌트: 리스트 조건제시법(comprehension) 활용
# 필요한 코드가 있다면 아래에 추가
# None 값을 적절한 리스트 조건제시법으로 대체할 것
list_modulo3 = None
print(list_modulo3)
# 과제 1
q01 = (rev_sorted_list == sorted(a_list, reverse=True))
# 과제 2
q02 = (current_time == current_time_string)
# 과제 3
q03 = (list10 == [1, 2, 4, 5, 7, 8, 10])
# 과제 4
q04_answer1 = (list_enum(['a', 'b', 'c']) == {0: 'a', 1: 'b', 2: 'c'})
q04_answer2 = (list_enum([4, 6, 9, 2]) == {0: 4, 1: 6, 2: 9, 3: 2})
q04 = q04_answer1 and q04_answer2
# 과제 5
q05_answer1 = (list2dic([2, 5, 2, 3, 3, 2]) == {2: [0, 2, 5], 3: [3, 4], 5: [1]})
q05_answer2 = (list2dic([15, 3, 15, 1, 3, 8]) == {1: [3], 3: [1, 4], 8: [5], 15: [0, 2]})
q05 = q05_answer1 and q05_answer2
# 과제 6
q06_answer1 = (count_elem([2, 5, 2, 3, 3, 8, 2, 7]) == 5)
q06_answer2 = (count_elem([15, 3, 15, 1, 3]) == 3)
q06 = q06_answer1 and q06_answer2
# 과제 7
q07 = (list_modulo3 == [4, 25, 64])
answers_10 = [q01, q03, q04, q06]
answers_20 = [q02, q05, q07]
total_score = 0
for q in answers_10:
total_score += q * 10
for q in answers_20:
total_score += q * 20
total_score