Search
💯

성취도 퀴즈

프로그래밍 기초 주차는 잘 보내셨나요?
힘들었지만, 얻어가는 것이 있었다면 스스로 자랑스러워 해도 됩니다.
성취도 확인을 위해서 간단한 퀴즈를 준비했으니 자가진단을 해봅시다.
총 15문제로 구성되어 있으며, 객관식, 주관식, 코드 작성, SQL 문제가 포함됩니다.
난이도는 필수 / 실전 / 도전 로 구성됩니다. (문제 옆에 표시)

객관식 문제 (7문제, Q1~Q7)

1.
다음 중 파이썬의 기본 자료형이 아닌 것은? 필수
(A) 정수 (int)
(B) 리스트 (list)
(C) 딕셔너리 (dict)
(D) 문자 (char)
2.
다음 파이썬 코드 실행 결과로 알맞은 것은? 필수
x = [1, 2, 3] x.append(4) print(len(x), x[-1])
Python
복사
(A) 3 4
(B) 4 4
(C) 3 [4]
(D) 4 [4]
3.
pandas 라이브러리를 pd라는 별칭으로 import했다고 가정할 때, CSV 파일 data.csv를 DataFrame으로 불러오는 올바른 코드는 무엇인가? 필수
(A) pandas.readCsv("data.csv")
(B) pd.read_csv("data.csv")
(C) pd.open_csv("data.csv")
(D) pd.read("data.csv")
4.
다음 중 matplotlib로 선 그래프를 그릴 때 사용하는 함수는 무엇인가? 필수
(A) plt.plot()
(B) plt.bar()
(C) plt.line()
(D) plt.show()
5.
Seaborn 라이브러리에 대한 설명으로 옳은 것은? 필수
(A) Seaborn은 matplotlib 기반으로 만들어진 데이터 시각화 라이브러리이다.
(B) Seaborn은 파이썬 설치 시 기본 포함되는 내장 라이브러리이다.
(C) Seaborn은 머신러닝 알고리즘 구현에 특화된 라이브러리이다.
(D) Seaborn은 pandas의 DataFrame을 입력 데이터로 사용할 수 없다.
6.
다음 중 age가 30 이상이고, city'Seoul' 또는 'Busan'인 행만 선택하는 올바른 코드는? 실전
(A) df[df['age'] >= 30 and df['city'].isin(['Seoul','Busan'])]
(B) df[(df['age'] >= 30) & (df['city'].isin(['Seoul','Busan']))]
(C) df.loc[df['age'] >= 30 | df['city'].isin(['Seoul','Busan'])]
(D) df.iloc[(df['age'] >= 30) & (df['city'].isin(['Seoul','Busan']))]
7.
df에는 age, city, income 열이 있습니다. 다음 요구사항을 모두 만족하는 코드를 고르세요. 실전
조건
1.
age30~50세(포함)
2.
city'Seoul' 또는 'Busan'
3.
income결측이 아님
4.
열은 ['city','age','income'] 남긴다
5.
income 내림차순 정렬
6.
인덱스 리셋(drop=True)
(A)
df[(df['age'] >= 30 and df['age'] <= 50) & df['city'].isin(['Seoul','Busan']) & df['income'].notnull()][['city','age','income']].sort_values('income', ascending=False).reset_index()
Python
복사
(B)
df.loc[ df['age'].between(30, 50) & df['city'].isin(['Seoul', 'Busan']) & df['income'].notna(), ['city','age','income'] ].sort_values('income', ascending=False).reset_index(drop=True)
Python
복사
(C)
df.loc[df['age'].between(30,50) & df['city'].isin(['Seoul','Busan']) & df['income'].notna(), ['city','age','income']].sort_values('income', ascending=False).reset_index()
Python
복사
(D)
df.query("30 <= age <= 50 and city in ['Seoul','Busan'] and income.notna()")[['city','age','income']].sort_value()
Python
복사

주관식 문제 (3문제, Q8~Q10)

1.
파이썬의 리스트(list)튜플(tuple)의 차이점을 설명하세요. 필수
2.
Pandas의 DataFrame이란 무엇이며, 어떤 용도로 사용되는지 설명하세요. 필수
3.
Matplotlib에서 그래프의 제목을 설정할 때 사용하는 함수를 쓰세요. 필수

코드 작성 문제 (3문제, Q11~Q13)

1.
주어진 숫자 리스트([3, 1, 9, 2])에서 최댓값을 구하는 파이썬 코드를 작성하세요. (단, 내장 함수 max()는 사용하지 않습니다.) 필수
2.
DataFrame df에 '이름'과 '점수' 컬럼이 있습니다. 각 학생의 점수가 60점 이상이면 'Pass', 그렇지 않으면 'Fail' 값을 갖도록 '합격여부'라는 새로운 열을 추가하는 코드를 작성하세요. (apply 사용 권장) 실전
3.
아래와 같은 DataFrame과 컬럼들이 있을 때, 요구 사항을 만족하는 코드를 작성하세요. 도전
DataFrame: orders (컬럼: order_date(문자열 "YYYY-MM-DD"), amount(실수))
요구:
1.
order_datedatetime으로 변환
2.
2024년 1분기(1~3월) 데이터만 필터링
3.
월(YYYY-MM) 기준 매출 합계 Series를 만들고 이름을 'revenue' 지정
4.
월 오름차순으로 정렬하여 반환

SQL 문제 (2문제, Q14~Q15)

1.
아래 조건을 만족하는 SQL Query문을 작성하세요. 실전
테이블:
sales(order_id, order_date DATE, category VARCHAR(50), qty INT, price DECIMAL(10,2))
Plain Text
복사
요구: 카테고리별 2024년 총 매출(qty*price) 을 구해 매출 내림차순으로 정렬하세요.
2.
아래 조건을 만족하는 SQL Query문을 작성하세요. 실전
테이블:
customers(customer_id, name, city) orders(order_id, customer_id, order_date DATE, amount DECIMAL(10,2))
Plain Text
복사
요구: 2024년 기준 도시(city)별 주문 건수(order_count)와 총매출(total_revenue)을 구하고, 총매출 내림차순, 같은 매출이면 주문건수 내림차순으로 정렬하세요.