자료구조 15

인프런 CS 지식의 정석: 섹션0. 데이터교환형식 #1. JSON과 직렬화와 역직렬화

JSON(JavaScript Object Notation) : Javscript 객체 문법으로 구조화된 데이터 교환 형식 여러 언어에서 데이터 교환형식으로 사용됨 단순 배열, 문자열도 표현 가능 키(key)와 값(value)로 구성 { "city": "Seoul" } 단순 배열 문자열 넣어서 사용 가능 각 객체는 다른 타입을 가지고 있어도 괜찮음 하지만 타입을 맞춰주는 게 좋음 배열은 [0], [1] 이런식으로 접근하고 key에 대한 value는 .key 또는 ["key"]이런식으로 접근해서 빼내기 JSON타입 : 수, 문자열, 참/거짓, 배열, 객체, null undefined 메서드 등은 포함할 수 없음 JSON 직렬화, 역직렬화 직렬화: 외부 시스템에서도 사용할 수 있도록 바이트 형태로 데이터를 변..

📔파워 유저를 위한 파이썬 Express 07. Programming 문제풀이

01. 사용자로부터 정수 리스트를 받아서 정수 리스트에 있는 중복되 요소들을 제거하고 리스트를 정렬시키는 프로그램 작성하기 user = list(map(int, input("주어진 리스트: ").split())) 여기서 input() 함수로부터 사용자의 입력을 받고, split() 메서드를 사용하여 입력된 문자열을 공백을 기준으로 분리합니다. 그리고 map() 함수를 사용하여 분리된 각 요소를 int() 함수를 적용하여 정수로 변환합니다. 마지막으로 list() 함수를 사용하여 변환된 정수들로 이루어진 리스트를 생성합니다. 예를 들어, 사용자로부터 입력받은 "1 2 3 4 5"라는 문자열을 처리할 경우, split() 메서드에 의해 문자열이 공백을 기준으로 분리되어 ["1", "2", "3", "4", ..

📔파워 유저를 위한 파이썬 Express 07. 파이썬 자료구조 2(튜플, 딕셔너리, 세트, 문자열)

튜플 튜플_이름=(항목1, 항목2, ...) fruits=() fruits=("apple", "banana", "grape") result=fruits[1] 튜플은 변경 불가-리스트와의 차이점 괄호 없이 항목들을 쉼표로 분리해도 자동으로 튜플이 생성됨 fruits="apple", "banana", "grape" ⚠요소가 하나뿐인 튜플을 만들 때는 요소의 끝에 반드시 쉼표(,)를 추가하기 쉼표가 없으면 튜플이 아니라 수식이 됨 single_tupe=("apple",) no_tuple=("apple") #단순 수식 튜플리스트 myList=[1,2,3,4] myTuple=tuple(myList) myTuple >>>(1,2,3,4) tuple()는 튜플을 생성하는 함수, 생성자 함수 반대로 튜플을 리스트로 바..

[파이썬 자료구조와 알고리즘] Chapter 11. 정렬 기본

학습 목표 정렬 개념 파악 정렬을 위한 코드 형식 이해 기본적인 정렬 방식 학습 정렬을 활용한 응용 프로그래밍 작성 Section00. 생활 속 자료구조와 알고리즘 대학교: 학생들 원하는 자리에 맘대로 앉음 교수 출석부에는 학번 순서나 이름 순서로 명단 작성됨 요리사도 칼 여러 개 사용하는데 가능하면 칼 크기대로 가지런히 놓고 사용하는 것을 좋아함 -정렬: 순서대로 데이터가 나열되어 있는 것 Section01. 정렬의 기본 1. 정렬의 개념 -정렬(Sort): 자료들을 일정한 순서대로 나열하는 것 -순서대로 나열할 때: 작은 것부터 나열하는 방법/큰 것부터 나열하는 방법 -오름차순 정렬(Ascending Sort): 작은 것부터 큰 순으로 나열된 방법 -내림차순 정렬(Descending Sort): 큰 ..

[파이썬 자료구조와 알고리즘] Chapter 10. 재귀호출

학습목표 재귀 호출의 개념과 작동 이해 재귀 호출을 위한 코드 형식 이해 재귀 호출을 다양한 응용 예로 연습 Section00. 생활 속 자료구조와 알고리즘 마트료시카 러시아인형 Section01. 재귀 호출의 기본 1. 재귀 호출의 개념 -재귀 호출(Recursion): 자신을 다시 호출하는 것 2. 재귀 호출의 작동 재귀 호출은 자신을 다시 호출하므로 강아지가 자신의 꼬리를 무고 빙글빙글 도는 형태임~ def openBox(): print("종이 상자를 엽니다") openBox() openBox() 너무 많이 반복되면 자동종료됨 마지막 만나면 종료할 수 있도록 조건 추가 가능 def openBox(): global count print("종이 상자를 엽니다") count-=1 if count==0: ..

[파이썬 자료구조와 알고리즘] Chapter 09. 그래프

학습 목표 그래프 개념 파악 그래프를 구성하는 파이썬 코드 작성 그래프로 활용되는 응용 프로그램 작성 Section00. 생활 속 자료구조와 알고리즘 버스정류장과 여러 노선이 함께 포함된 형태->그래프 구조 링크드인 같은 사회 관계망 서비스 Section01. 그래프의 기본 1. 그래프의 개념 -그래프(Graph): 여러 노드가 서로 연결된 자료구조 루트에서 하위 노드 방향으로만 이어지는 트리와 달리 그래프는 여러 노드가 연결되어 ㅣㅇㅆ을 수 있음 2. 그래프의 종류 정점을 연결하는 간선의 방향성 여부에 따라 방향 그래프와 무방향 그래프로 나뉨 간선에 가중치를 부여하여 가중치 그래프도 만들 수 있음 🤎무방향 그래프 -정점(Vertex): 트리의 노드에 해당하는 용어 -간선(Edge): 정점을 연결하는 선..

[파이썬 자료구조와 알고리즘] Chapter 08. 이진 트리

학습목표 이진 트리 개념 파악 파이썬으로 이진 트리 구현 코드 작성 이진 트리 중 활용도가 높은 이진 탐색 트리 이해하고 활용 이진 탐색 트리를 활용하여 다양한 응용 프로그램 작성 Section00. 생활 속 자료구조와 알고리즘 회사 조직도-->트리 구조 컴퓨터의 폴더 Section01. 이진 트리의 기본 1. 이진 트리의 개념 -트리(Tree) 자료구조: 나무를 거꾸로 뒤집은 형태 -뿌리(Root, 루트): 트리의 맨 위 루트를 레벨 0으로 두고 나뭇잎에 해당하는 아래로 내려올수록 레벨이 1씩 증가함 -노드: 각 위치 각 노드는 선, 엣지(edge)로 연결되어 있음 -부모, 자식 관계: 위 노드와 바로 아래 노드의 관계 -차수(degree): 자식 노드 개수 -리프(leaf): 차수가 0인 노드 트리의..

[파이썬 자료구조와 알고리즘] Chapter 07. 큐

💥학습목표 큐의 개념 파악 큐에 데이터를 넣거나 추출하는 원리 이해 파이썬으로 큐 조작 코드 작성 큐로 활용되는 다양한 응용 프로그램 작성 Section00. 생활 속 자료구조와 알고리즘 기차가 터널에 들어갈 때 1호차, 2호차, 3호차 순서대로 들어감 터널 빠져낭로 때도 1호차, 2호차, 3호차 순으로 나옴 -큐: 먼저 들어간 것이 먼저 나오는 자료구조 은행 ATM기 먼저 줄을 선 사람이 먼저 인출함 Section01. 큐의 기본 1. 큐의 개념 -큐(Queue): 입구와 출구가 따로 있는 원통 형태 -특징: FIFO(First In First Out) *주의점: 대기 중에 들어갈 때는 사람을 지정해서 들어갈 수 있지만, 대기줄에서 나올 때는 특정 사람을 선택할 수 없다 2. 큐 원리 큐는 양쪽이 뚫려..

[파이썬 자료구조와 알고리즘] Chapter 06. 스택

학습 목표 스택의 개념 파악 스택에 데이터를 넣거나 추출하는 원리 이해 파이썬으로 스택 조작하는 코드 작성 스택으로 활용되는 다양한 응용 프로그램 작성 Section00. 생활 속 자료구조와 알고리즘 초콜릿맛, 바닐라맛, 딸기맛이 차례대로 쌓여 있는 아이스크림 콘 만드는 과정 초콜릿->커피->바닐라->딸기 가장 먼저 넣은 초콜릿을 가장 나중에 먹을 수 있는 구조가 스택 구조 콘을 쌓았던 순서와 반대로 먹어야 함 Section01. 스택의 기본 1. 스택의 개념 -스택(Stack) 자료구조: 한쪽 끝이 막힌 형태 ex)한쪽 끝이 막힌 주차장, 프링글스, 종이컵 수거함 -선입후출(First In Last Out, FILO)=후입선출(Last In First Out, LIFO): 입구가 하나뿐이기 때문에 먼저..

카테고리 없음 2022.08.08

[파이썬 자료구조와 알고리즘] Chapter 05. 원형 연결 리스트

학습목표 원형 연결 리스트의 개념 파악 원형 연결 리스트와 단순 연결 리스트의 차이 이해 원형 연결 리스트의 데이터 삽입/삭제 원리 이해 파이썬으로 원형 연결 리스트를 조작하는 코드 작성 Secton00. 생활 속 자료구조와 알고리즘 '해랑': 서울에서 출발해서 전국을 돌고 다시 서울로 돌아오는 일정 원형 연결 리스트=시작 위치와 다음 위치가 계속 이어진 후 마지막에 다시 돌아오는 형태 Section01. 원형 연결 리스트의 기본 1. 원형 연결 리스트의 개념 -단순 연결 리스트: 배열에 데이터를 차례대로 저장하므로 데이터의 실제 위치 순서로 데이터가 구성, 시작부터 끝까지 차례대로 방문 가능 끝까지 방문한 후에는 더 이상 방문할 곳이 없어 종료되므로 다시 방문하려면 헤드(head)부터 재시작해야 함 -..