자료구조와 알고리즘/자료구조와 함께 배우는 알고리즘 14

Phython - 스택과 큐(부제: 스택과 큐를 알아보며 예외처리가 무엇 인지를 살펴보자!)

스택이란? 데이터를 임시 저장하는 기본 자료구조인 스택과 큐를 배워보도록 하자. 먼저 스택에 대해서 알아보자. 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 📌출처: https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%83%9D 스택 알아보기 스택(Stack)은 데이터를 임시 저장할 때 사용하는 자료구조로, 데이터의 입력과 출력 순서는 후입선출(LIFO)방식이다. 스택에 데이터를 넣는 작업을 푸시(push)라고하고, 스택에서 데이터를 꺼내는 작업을 팝(pop)이라고 한다. 겹쳐 쌓은 접시처럼 데이터를 넣고 꺼내는 작업을 맨 위부터 수행한다. 이렇게 푸시하고 ..

Python - 검색 알고리즘(부제: 검색 알고리즘이 무엇인지 살펴보고, 선형 검색, 이진 검색, 해시법을 알아보자)

검색 알고리즘이란? 데이터 집합에서 원하는 값을 가진 원소를 찾아내는 검색 알고리즘 데이터 집합에서 원하는 값을 가진 원소를 찾아내는 검색 알고리즘을 살펴보도록하자. 검색과 키 주소록을 검색한다고 가정하고 검색 조건을 다음과 같이 다양하게 설정할 수 있다. 국적이 한국인 사람을 찾는다 나이가 21세 이상 27살 미만인 사람을 찾는다 이름에 '민'자가 들어간 사람을 찾는다. 이 검색 조건은 모두 어떠한 항목에 주목하고 있다. 이렇게 주목하는 항목을 키key라고 하고 국적으로 검색하는 경우 국적이 키고 나이로 검색하는 경우 나이가 키인 것이다. 대부분 키는 데이터의 일부이다. 데이터가 간단한 정숫값이나 문자열이면 데이터값이 그대로 키값이 될 수도 있다. 다시 말해서 위의 주소록 검색 조건을 수행하려면 다음과..

Python - 자료구조와 배열

자료구조를 정의하고 기본 자료구조인 배열을 살펴보도록 하겠습니다. 자료구조란? 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 배열 - 자료구조의 기본 2-1 자료구조란? 배열 개념 알아보기 배열을 사용하면 흩어진 변수를 하나로 묶어 사용할 수 있어 코드를 더 쉽고 효율적으로 작성할 수 있습니다. # 학생 5명의 시험 점수를 입력받아 합계와 평균을 출력하기 print("학생 그룹 점수의 합계와 평균을 구합니다.") score1 = int(input("1번 학생의 점수를 입력하세요.: ")) score2 = int(input("2번 학생의 점수를 입력하세요.: ")) score3 = int(input("3번 학생의 점수를 입력하세요.: ")) score4 = int(input("4번 학생의 점..

Python - 반복하는 알고리즘

1부터 n까지 정수의 합 구하기 print("1부터 n까지 정수의 합을 구합니다.") n = int(input()) sum = 0 i = 1 while i b : a, b = b, a #a가 b보다 크다면 a에 b값을 b엔 a값을 넣어준다. sum = 0 for i in range(a,b+1): sum += i print(f"{a}부터 {b}까지의 정수의 합은 {sum}입니다.") a와 b를 오름차순으로 정렬한 뒤 다음 해당 범위의 모든 정수를 더하는 프로그램 a, b = b, a #a와 b의 값을 교환(단일 대입문일 때 사용가능) 두 값 교환하기 1 a, b = b, a 단일 대입문의 교환 과정. 우변의 b, a에 의해 두 값을 압축한 튜플(b, a)가 생성 대입할 때 튜플(b, a)를 다시 풀어 b,..