Ryuna의 티스토리 블로그

소프트웨어 개발, 그 너머로

Programming 15

배열, 연결 리스트, 스택과 큐 기본 문제

이번 글에서는 지금까지 공부한 자료구조들(배열, 연결 리스트, 스택, 큐)을 활용하는 기본 문제를 풀어봅니다. 목차 1. 동적 배열과 연결 리스트 - 동적 배열: C++ STL의 vector - 연결 리스트: C++ STL의 list - vector vs. list - 문제풀이 2. 스택과 큐, 데크 - C++ STL의 stack, queue - C++ STL의 deque - 문제풀이 참고한 자료 알고리즘 문제 해결 전략, 구종만 https://book.algospot.com/ 알고리즘 문제 해결 전략 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략, 구종만 지음, 인사이트, ISBN 978-89-6626-054-6 새 소식 책 소개 은 새로운 알고리즘 책입니다. 종이에 적힌 의사코드 book.alg..

연결 리스트의 개념과 클래스 구현

이번 글에서는 연결 리스트(linked list)의 C++ 클래스 구현에 대해 알아보겠습니다. 목차 1. 단순 연결 리스트와 체인 - 개념 - 노드와 체인의 설계 - 템플릿 클래스 체인의 설계와 구현 2. 원형 리스트 - 개념 - 구현 3. 이중 연결 리스트 - 개념 - 구현 참고한 자료 C++ 자료구조론, Horowitz 외 http://www.yes24.com/Product/Goods/2656393 C++ 자료구조론 (2판) - YES24 C++ 언어의 최신 기능을 포함하도록 개정되었다. 예외와 템플릿과 같은 기능들은 제한적이긴 하지만 STL에 사용함으로써 내용전반에 걸쳐 포함되어 있다. 본서는 안전 해싱 알고리즘, 가중치 편 www.yes24.com 단순 연결 리스트와 체인 개념 배열이나 스택, 큐..

큐 자료구조의 개요와 구현

이번 글에서는 큐가 어떤 자료구조인지 알아보고, C++로 구현해 봅니다. 목차 1. 큐란 2. 큐의 기본 연산 구현 3. 데크의 구현 작성하면서 참고한 자료 C++ 자료구조론, Horowitz 외 http://www.yes24.com/Product/Goods/2656393 C++ 자료구조론 (2판) - YES24 C++ 언어의 최신 기능을 포함하도록 개정되었다. 예외와 템플릿과 같은 기능들은 제한적이긴 하지만 STL에 사용함으로써 내용전반에 걸쳐 포함되어 있다. 본서는 안전 해싱 알고리즘, 가중치 편 www.yes24.com 큐란 큐(queue)는 리어(rear)라고 하는 한쪽 끝에서 삽입이 일어나고 프런트(front)라고 하는 반대쪽 끝에서 삭제가 일어나는 순서 리스트입니다. 제일 먼저 삽입되는 원소가..

스택 자료구조의 개요와 구현

이번 글에서는 스택이 어떤 자료구조인지 알아보고, C++로 구현해 봅니다. 목차 1. 스택이란 2. 스택의 기본 연산 구현 3. 스택의 추가 연산 구현 작성하면서 참고한 자료 C++ 자료구조론, Horowitz 외 http://www.yes24.com/Product/Goods/2656393 C++ 자료구조론 (2판) - YES24 C++ 언어의 최신 기능을 포함하도록 개정되었다. 예외와 템플릿과 같은 기능들은 제한적이긴 하지만 STL에 사용함으로써 내용전반에 걸쳐 포함되어 있다. 본서는 안전 해싱 알고리즘, 가중치 편 www.yes24.com 스택이란 스택(stack)은 톱(top)이라고 하는 한쪽 끝에서 모든 삽입(push)과 삭제(pop)가 일어나는 순서 리스트입니다. 제일 마지막으로 삽입된 원소가 ..

[LeetCode] 1. Two Sum (Python)

LeetCode를 문제 번호 순서대로 풀지는 않지만, 1번 문제는 나름의 상징성이 있다고 생각해서 풀이를 남겨봅니다. leetcode.com/problems/two-sum/ Two Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 1. Brute Force from typing import List def twoSum(nums: List[int], target: int) -> List[int]: for i in range(len(nums)): for..