[연습문제]
- N보다 작은 약수, 소수, 소인수 출력하기
-> 약수는 N에서 해당 수를 나눠서 나머지가 0이면 출력
-> 소수는 해당 수를 다시 1부터 해당 수 - 1 까지 나눠서 나머지가 0인 애가 없으면 출력
-> 소인수는 약수이면 +1, 소수이면 +1해서 2 이면 출력
- N을 소인수분해해서, 소인수들의 지수 출력하기
-> 나머지가 0이면 리스트에 추가하고 갯수 세기 : list.count(n) - list에서 n의 갯수를 카운트함
- 서로소는 1 이외에 약수가 없는 두 수를 의미함
- 최소공배수는 두 수의 곱에서 최대공약수로 나누면 구할 수 있음 : 최대공약수를 먼저 구하면 될 듯
- 2진수로 변환 : bin(n)
- 8진수로 변환 : oct(n)
- 16진수로 변환 : hex(n)
- 10진수로 변환 : int('숫자', 현재 진법 숫자(2진수라면 2))
- 등차수열 : 첫항 a1, 공차 d, n번째 ; a1 + (n-1)*d
- 등비수열 : 첫항 a1, 공비 r, n번재; a1 * r^(n-1)
- 계차수열의 경우에는 공차의 규칙성에 해당하는 수열의 n-1 항까지의 합과 계차수열 첫항을 더하면 n번째 항이 되는 수열임.
예제) 첫날 쌀 두톨을 받고, 둘째 날은 하루 전의 2배에 해당하는 쌀을 받는다고 할 때, 30일 째 되는 날 받는 쌀의 톨 수와 모두 받은 톨의 수를 출력하는 프로그램 코딩
- 피보나치수열 : 전과 전전의 합이 나인 경우.
- 군수열 : 묶어서 규칙성을 찾는다고 생각하자. 군 별 첫항을 구해서 그 규칙성을 적용
- 순열 nPr = n! / (n-r)!
- 조합 nCr = nPr / r! = n! / { r! * (n-r)!}
[자료구조]
- 데이터를 묶어서 관리
- 여러 개의 데이터가 묶여있는 자료형을 컨테이너 자료형
- 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 한다.
- 자료구조의 형태가 많은데, 그 형태별로 관리하는 방법이 다르다.
- List, Tuple, Dic, Set
[리스트]
- 배열과 같이 여러 개의 데이터를 나열한 자료구조
- [] <- 대괄호를 이용해서 선언하고, 콤마(,)로 데이터를 구분함
- 숫자, 문자(열), 논리형 등 모든 기본 데이터를 같이 저장할 수 있음
- 리스트 안에 또 다른 컨테이너 자료형 데이터를 저장할 수도 있음
- 인덱스 : 아이템에 자동으로 부여되는 번호표
- 인덱스는 0번으로 시작함
- 리스트 아이템은 인덱스를 이용해서 조회 가능하다.
- 리스트의 길이 : len(list)
- len 값이 5라면, 인덱스는 0~4까지 있다고 생각하면 좋다.
- 위 예시를 반복문을 사용한다면, range(len(students))를 이용하면 된다.
- len 함수는 리스트 뿐만 아니라, 문자열의 길이도 알 수 있다. len(str)
- for문을 활용하면 리스트의 아이템을 자동으로 참조할 수 있다.
cars = ["a","b","c","d","e","f"]
# 방법-1
for i in range(len(cars)):
print(cars[i])
# 방법-2
for j in cars:
print(j)
- while문을 이용하면 다양한 방법으로 조회 가능하다.
cars = ["a","b","c","d","e","f"]
# 방법-1
while n < len(cars):
print(cars[i])
n += 1
# 방법-2
flag = True
while flag:
print(cars[n])
n += 1
if n == len(cars):
flag = False
[enumerate()]
- 인덱스와 아이템을 한번에 조회
sports = ['농구', '수구', '축구', '마라톤', '테니스']
for idx, value in enumerate(sports):
print('{} : {}'.format(idx, value))
- enumerate()는 문자열에도 적용할 수 있다.
온라인 강의 6일차 후기
오호 enumerate()를 문자열에도 쓸 수 있는지 몰랐다.
헷갈리는 함수였는데, 이번 기회에 정리해서 좋았다.
기초 수학도 마치고, 자료구조 시작했으니 이제 더 집중해서 온라인 들어야지!
오늘도 고생했다~
- 네카라쿠배 데이터사이언스 오프라인 1기 수강 中
'Data Science > Python Introduction' 카테고리의 다른 글
[8일차] 튜플(tuple)과 딕셔너리(dictionary)는 복습이 필요해. (0) | 2021.10.22 |
---|---|
[7일차] 리스트 요긴하게 쓰기 위한 추가/삭제/슬라이싱. 분명하게 정리하기! (0) | 2021.10.19 |
[5일차] 기초수학 왕창 듣는데, 파이썬 구현하는 거에 맛 들림 (0) | 2021.10.13 |
[4일차] 파이썬으로 코딩 예제 풀고, 기초수학 출발 (0) | 2021.10.12 |
[3일차] 반복문 완료, 그리고 복습하면서 연습문제 풀어봤음 (0) | 2021.10.11 |
댓글