Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

세찬하늘

[데이터컴퓨팅] 수업소개 및 파이썬 기초(1) 본문

카테고리 없음

[데이터컴퓨팅] 수업소개 및 파이썬 기초(1)

HotSky92 2025. 3. 11. 17:58

 

 

1학기 컴퓨팅 수업 내용 중 1차시 정리

 

수업내용 요약 정리

- 강의 특징 및 주요 학습 내용 소개

- 강의 형태 및 주의점, 일정 소개

- 강의내용 목차 소개

- 파이썬 기초(자료형부터 ~)

 

수업내용은 수업시간에 다룬 키워드, 개념들 위주로 정리합니다.

1. 알고리즘

알고리즘은 문제 해결을 위한 명확한 절차를 의미합니다.

요리의 레시피처럼 단계가 정확히 정해져 있고, 반드시 끝이 있습니다.

  • 유한성: 반드시 끝이 있어야 함(무한루프는 알고리즘이 아니다)
  • 명확성: 단계마다 모호하지 않고 명확해야 함
  • 예시: 숫자 정렬 알고리즘 (예: sort 정렬 -  숫자끼리 비교하여 순서를 바꾸는 방식)

2. 알고리즘 평가 요소(복잡도는 다음 차시에)

  • 시간 복잡도: 알고리즘 실행 시 걸리는 시간 측정
  • 공간 복잡도: 알고리즘 실행 시 사용하는 메모리 양

3. 자료 구조 개념과 종류

자료 구조는 데이터를 저장하는 방식이며, 상황에 맞게 효율적인 구조를 선택해야 합니다.

  • 리스트: 여러 데이터를 순서대로 저장
    • 예: 학생 명단 ["철수", "영희", "민수"]
  • 스택(Stack): 후입선출(LIFO)
    • 예시: 인터넷 브라우저의 뒤로 가기 버튼
  • 큐(Queue): 선입선출(FIFO)
    • 예시: 은행이나 식당에서 줄 서기
  • 해시 테이블(Hash Table): 빠르게 데이터를 찾기 위한 키(key)-값(value) 쌍으로 이루어짐
    • 예시: 전화번호부 (이름(key) → 전화번호(value))

 

파이썬 언어의 특징

  • 객체지향언어
  • 인터프리터 언어: 컴파일 없이 즉시 실행 가능, 한줄씩 순서대로
  • 동적 타입 언어: 변수를 사용할 때 데이터 타입을 미리 지정하지 않아도 됨, 직관적임

파이썬 주요 데이터 타입

  • 숫자(Number)
    • 정수(int), 실수(float), 복소수(complex)
    • 예시: 
    • x = 10 # int y = 3.14 # float z = 1 + 2j # 복소수
  • 불리언(Boolean)
    • 참(True), 거짓(False)
    • 예시:
      a = True
      b = False
      
  • 시퀀스(Sequence)
    • 여러 데이터를 순서대로 저장하는 타입
    • 문자열(string), 리스트(list), 튜플(tuple) 등이 포함됨
    • 예시:
      str_example = "Hello"
      my_list = [1, 2, 3, "apple"]  # 리스트: 변경 가능
      my_tuple = (1, 2, 3) # 변경 불가능
      
  • 딕셔너리(Dictionary)
    • 키(Key)-값(Value) 쌍으로 데이터를 저장하는 타입
    • 예시:
      student = {"name": "홍길동", "age": 25}
      

리스트의 특징

  • 순서가 있고 변경 가능(mutable)함
  • 인덱스를 사용하여 특정 데이터 접근 가능
  • 예시:
    fruits = ["사과", "바나나", "포도"]
    fruits[0]  # '홍길동' 접근
    
  • 인덱스(index)는 0부터 시작

슬라이싱(Slicing)

  • 리스트나 문자열의 일부를 잘라서 가져오는 방법
  • 문법: [시작인덱스:끝인덱스] (끝 인덱스는 미포함)
  • 예시:
    data = ["A", "B", "C", "D", "E"]
    print(data[1:3])  # 결과는 ['B', 'C']
    

동적 타이핑

  • 변수가 처음 선언된 이후에도 다른 데이터 타입의 값을 넣을 수 있음
  • 예시:
    x = 10      # 정수
    x = "hello" # 문자열로 변경 가능