3주: day15

daye·2023년 3월 17일

달성한 목표

강의 : 기초수학문풀1~3 / 자료구조1~2 / 기초수학2 퀴즈

정리할 파트

강의 : 기초수학문풀1~3 / 자료구조1~2

기초수학문풀

33 최대공약수

  • 서로소 : 1외에 공약수가 없는 것

min()

  • min(a, b)
    숫자 두 개를 던져주면 그 중 작은 수를 반환해주는 함수

38 시그마

  • summation이라고도 읽는다
  • 중첩해서 사용할 수 있다
  • 인덱스 문자가 바뀌어도 실제 수식은 달라지지 않는다

자료구조

1 자료구조란?

  • 컨테이너 자료형 : 여러 개의 데이터가 묶여 있는 자료형
  • 자료구조 : 컨테이너 자료형의 데이터 구조
    ex/ 학생1, 학생2, 학생3, 학생4 각각
    / (학생1, 학생2, 학생3, 학생4) 묶어서
  • 대표 컨테이너 자료형
    : 리스트(List), 튜플(Tuple), 딕셔너리(Dic), 셋트(Set)
    ex1/ students = ['홍', '박', '이', '박2', '김']
    ex2/ jobs = ('홍', '박', '이', '박2', '김')
    ex3/ scores = {'kor':88, 'eng':91, 'mat':95, 'sci':90, 'his':100}
    ex4/ allSales = {100, 150, 90, 110}
  • 튜플은 리스트와 유사하지만 리스트처럼 외부에서 자료형 내부의 자료를 변경할 수 없다.
  • 딕셔너리 : key값 : value값 구조로 구성됨
  • 셋 : 중복된 데이터가 허용되지 않는다.
for i in students:		# range 자리에 컨테이너 자료형
	print(i)
    
# 결과
홍
박
이
박2
김

2 리스트 (List)

: 배열과 같이 여러 개의 데이터를 나열한 자료구조

  • []를 이용해 선언, 데이터의 구분은 , 이용
  • 리스트에 속한 데이터 하나하나를 '엘리먼트' 또는 '아이템' 또는 '요소' 라고 함
  • 숫자, 문자, 논리형 등 모든 기본 데이터를 같이 저장할 수 있다.
  • 리스트 안에 또다른 컨테이너 자료형 데이터를 저장할 수도 있다.
students = ['홍', '박', '이', '박2', '김']

3 리스트 아이템 조회

인덱스

: 아이템에 자동으로 부여되는 번호표

  • 번호는 0부터 시작
  • 리스트 아이템은 인덱스를 이용해 조회 가능
print('students[0]: {}'.format(students[0]))
print(type(students[0]))

# 결과
students[0]: 홍
<class 'str'>

4 리스트 길이

: 리스트에 저장된 아이템 개수

len()

sLength = len(students)
print('length of students: {}'.format(sLength))

# 결과
length of students: 5
  • len()함수는 리스트의 개수뿐 아니라 문자열의 길이도 알 수 있다.
str = 'Hello python!!'
print('\'Hello python!!\'의 길이 : {}'.format(len(str)))

# 결과
'Hello python!!'의 길이 : 14
for i in range(len(students)):
	print(students[i])

for item in students:
	print(item)
    
# 둘 다 동일한 결과 (아래)
홍
박
이
박2
김

5 리스트와 for문

for문을 이용한 조회

for문을 이용한 내부 리스트 조회

: for문을 이용하면 리스트의 아이템을 자동으로 참조할 수 있다.
: for문을 이용하면 리스트 내부에 또다른 리스트의 아이템을 조회할 수도 있다.

studentsCnts = [[1, 19], [2, 20], [3, 22], [4, 18], [5, 21]]
for classNo, cnt in studentsCnts:
	print('{}학급 학생 수: {}'.format(classNo, cnt))
    
# 위 예시에서 for문 classNo, cnt 자리에 변수를 두 개를 주면,
자동으로 리스트 내부의 또다른 리스트 아이템의 순서대로 가리키게 된다.

for i in range(len(studentsCnts)):
	print('{}학급 학생 수: {}'.format(studentsCnts[i][0], studentsCnts[i][1]))
# 위 처럼 작성할 수도 있지만, 첫번째 방법이 훨씬 수월하다.

# 결과
1학급 학생 수: 19
2학급 학생 수: 20
3학급 학생 수: 22
4학급 학생 수: 18
5학급 학생 수: 21

6

for문과 if문

minScore = 60
scores = [['국어', 58], ['영어', 77], ['수학', 99]]

for item in scores:
	if item[1] < minScore:
    	print('과락 과목: {}, 점수: {}'.format(item[0], item[1]))
        
for subject, score in scores:
	if score >= minScore: continue
    print('과락 과목: {}, 점수: {}'.format(subject, score))
        
# 동일 결과
과락 과목: 국어, 점수: 58

7 리스트와 while문

: while문을 이용하면 다양한 방법으로 아이템 조회가 가능하다.

n = 0
while n < len(students):
	print(students[n])
    n += 1
    
n = 0
flag = True
while flag:
	print(students[n])
    n += 1
    if n == len(students):
    	flag = False
        
 n = 0
 while True:
 	print(students[n])
    n += 1
    if n == len(students):
    	break

# 동일 결과
홍
박
이
박2
김

8

while문과 if문

9 enumerate() 함수

: enumerate()를 이용하면 아이템을 열거할 수 있다.

for i in range(len(students)):
	print('{} : {}'.format(i, students[i]))

for idx, value in enumerate(students):
	print('{} : {}'.format(idx, value))

# 동일 결과
0 : 홍
1 : 박
2 : 이
3 : 박2
4 : 김
str = 'Hello P'
for idx, value in enumerate(str):
	print('{} : {}'.format(idx, value))
    
# 결과
1 : H
2 : e
3 : l
4 : l
5 : o
6 : 
7 : P

0개의 댓글