[KTAIVLE] 20230202~03기록 - PYTHON 프로그래밍

최정윤·2023년 2월 2일
0

KTAIVLE

목록 보기
2/5

🎨알고리즘이란?
어떠한 문제를 해결하기 위해 정해 놓은 일련의 절차

🎨플로우차트
코딩을 할 때 로직의 흐름을 그림으로 나타낸 것


🧵미니실습1정답

🧵미니실습2정답

🧵미니실습4정답

🧵실습1정답

🧵실습2정답-1

🧵실습2정답-2

🧵실습3정답

🧵실습4정답

🧵추가실습1정답

🧵추가실습2정답

🧵추가실습3정답

🧵추가실습4정답

🧵추가실습5정답

🧵추가실습6정답


📰자료구조

논리적인 관계로 이루어진 데이터 구성
하나의 변수가 여러개의 방식으로 구성

튜플(tuple) - 소괄호

  • 한번 선언하면 다른 값으로 변경이 안된다.
  • 데이터가 작아서 메모리를 적게 사용한다.

리스트(list) - 대괄호

  • 선언한 이후 값의 변경이 가능하다.

enumerate 함수 사용

인덱스와 원소를 짝지어서 튜플로 꺼내는 내장 함수
[3, 2, 1] 이라는 리스트가 있을 때, 이것의 인덱스까지 가져와보자.

위와 같이 인덱스를 가져올 수 있다. 즉, 두 개의 미지수를 콤마로 나타내어 반복문을 돌리는데, 앞에 것이 인덱스가 되고, 뒤에 있는 것이 요소 값이 되겠다. 그런데 보통은 이것이 튜플의 형태로 저장되는데, 아래와 같이 하나의 미지수만으로 반복문을 돌리게 되면, 튜플이 바로 해당 미지수에 할당되고, 이것을 출력해보면 아래와 같다.

[참고] https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sw4r&logNo=221486018078

for i in (리스트이름):
-> 리스트 전체를 스캔한다.

pseudo code

실제 코드는 아니지만 코드를 명시해줄 수 있는 임의의 코드이다.

선형검색

직선 모양으로 늘어선 리스트에서 검색하는 경우에 원하는 값을 가진 원소를 찾을 때까지 맨 앞부터 스캔하여 순서대로 검색하는 알고리즘.

[선형 검색의 종료 조건]
검색할 값과 같은 원소를 찾은 경우
-> 검색 성공
검색할 값과 같은 원소를 찾지 못하고 리스트의 맨 끝에 도달한 경우
-> 검색 실패

보초법

종료 조건을 검사하는 비용을 줄이기 위한 방안
리스트의 끝에 찾으려는 원소와 같은 값을 입력해준다.
보초법에서 리스트의 길이는 (원래 리스트 길이 + 1)

미니실습3정답


이진 검색

  • 선형 검색은 리스트의 길이가 굉장히 길 경우 매우 비효율적이다.
  • 이런 문제를 해결하고자 이진 검색을 많이 사용한다.
  • 이진 검색은 리스트의 데이터가 오름차순이나 내림차순으로 정렬되어 있어야 한다.
  • 중앙을 기준으로 절반씩 떼어서 비교/검색한다.
    [EX]
  • 리스트 a, 검색값 key
  • 검색 범위 맨 앞 pl, 맨 끝 pr, 중앙의 인덱스 pc라고 한다.
  • a[pc] == key이면 검색 성공

실습3정답


추가실습3


print방식
print(f'출력할 말{출력할 변수}')
print("출력할 말 %d %f" %(출력할 정수, 출력할 실수))

profile
[공부블로그] https://jeong-yooon.tistory.com/

0개의 댓글