해설

강화학습 3기 점검1 해설

개요

해당 범위 동안 파이썬을 잘 배웠는지 점검합니다. 코딩 테스트을 통해 개념을 알고 얼마나 잘 활용할 수 있는지 확인해보는 시간을 가집니다. 문제의 개수는 5개에 도전문제 1개로 총 6개입니다. 시간은 70분 주어집니다. 궁금한 점이 있으면 언제든지 물어봐주세요~

참고자료 외 다른 라이브러리와 copilot는 금지합니다.

참고

# 절댓값을 나타내는 함수
print(abs(-3))  # -> 3 출력

# 파이썬 sin 함수 사용법
from math import sin
print(sin(0))  # -> 0 출력

# 리스트 오름차순 정렬 메서드(내장 함수)
a = [3, 6, 1, -4]
a.sort()
print(a)  # -> [-4, 1, 3, 6]

# 리스트 원소 추가
a = [1, 2, 3]
a.append(4)
print(a)  # -> [1, 2, 3, 4]

# 리스트 모든 원소의 합
a = [1, 2, 3, 4]
print(sum(a))  # -> 10 출력

# 리스트의 길이(length)
a = [1, 3, 5, 7, 9]
print(len(a))  # -> 5 출력

문제 1. 기댓값 표현

확률에서의 기댓값은 보통 특정 사건이 일어난 확률($p$)에 가중치($v$)를 곱해서 모든 사건에 대해 다 더한 값으로 표현됩니다.

$$ E = \sum\limits_{i=1}^np_iv_i $$

임의의 같은 길이인 리스트 p와 리스트 v가 주어집니다. 리스트의 각 인덱스는 각각의 사건을 의미하고 p의 인덱스는 일어날 확률, v의 인덱스는 가중치를 의미합니다. 이때 기대값을 print문으로 출력하는 프로그램을 작성하세요.

### 예제 입력이 이럴 때 출력은 -10.0입니다.
p = [0.1, 0.2, 0.3, 0.4]
v = [10, 20, -50, 0]

### 예제 입력이 이럴 때 출력은 6.0입니다.
p = [0.2, 0.2, 0.2]
v = [5, 10, 15]

문제 2. 절대값이 작은 원소 인덱스 찾기

정수형 자료형을 담은 리스트 a가 주어집니다. 리스트 a에서 절대값이 n번째로 작은 원소의 인덱스 전부 print문으로 출력하는 프로그램을 작성하세요.

### 예제 입력이 이럴 때 출력은 3입니다.
a = [4, 6, 0, -2]
n = 2

### 예제 입력이 이럴 때 출력은 0, 1입니다.
a = [3, -3, 5, 6, 8]
n = 1

문제 3. 소수 찾기

오름차순으로 정렬되어 있는 소수*(2, 3, 5, 7,…)*의 수열이 있을 때, 그 수열에서 n번 째 소수를 찾아 print문으로 출력하는 프로그램을 작성하세요.

### 예제 입력이 이럴 때 출력은 11입니다.
n = 5

### 예제 입력이 이럴 때 출력은 19입니다.
n = 8

문제 4. 미분

리스트 x는 0부터 시작하여 9.99까지 0.01 만큼의 간격으로 존재하는 모든 수의 집합입니다. 리스트 y는 x 각 원소의 값에 대응하는 sin의 함숫값으로 이루어져 있습니다. 주어진 구간[0, 10]에 대해 간격이 0.01인 $dx$에 대응하는 $dy$를 바탕으로, 리스트 $\Delta$(Delta)를 구합니다.