류나의 작은 DB

27살 류나의 바르고 다르게 살기

분류 전체보기 29

우선순위 큐, 힙과 이진 탐색 트리

이번 글에서는 우선순위 큐에 대해 알아봅니다. 이를 구현할 수 있는 두 가지 방법인 힙과 이진 탐색 트리에 대해서도 살펴봅니다. 목차 1. 우선순위 큐, 힙과 이진 탐색 트리 - 우선순위 큐란 - 힙이란 - 이진 탐색 트리란 2. 우선순위 큐의 구현 - 우선순위 큐의 두 가지 구현 - STL의 priority_queue와 multiset 3. 문제풀이: 힙과 이진 탐색 트리 - BOJ 11279번: 최대 힙 (실버 II) - BOJ 1927번: 최소 힙 (실버 II) - BOJ 11286번: 절대값 힙 (실버 I) - BOJ 5639번: 이진 검색 트리 (골드 V) 4. 문제풀이: 우선순위 큐 - BOJ 7662번: 이중 우선순위 큐 (골드 IV) - BOJ 2075번: N번째 큰 수 (실버 I) - B..

BOJ 1654번: 랜선 자르기 문제로 알아보는 "최적화 문제 결정 문제로 바꿔 풀기"

지난 주 코로나19에 걸려 격리를 하면서 매일 근근이 solved.ac [CLASS 2] 문제만 풀고 있었는데, 순서대로 풀다가 맞닥뜨린 "랜선 자르기" 문제에 의외의 중요한 알고리즘 설계 패러다임이 담겨 있다고 생각해 글을 작성하기로 했습니다. 목차 1. 문제 훑어보기 2. 최적화 문제와 결정 문제 3. 이분 탐색과 매개 변수 탐색 4. BOJ 1654번: 랜선 자르기 (실버 III) 참고한 자료 알고리즘 문제 해결 전략, 구종만 https://book.algospot.com/ 알고리즘 문제 해결 전략 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략, 구종만 지음, 인사이트, ISBN 978-89-6626-054-6 새 소식 책 소개 은 새로운 알고리즘 책입니다. 종이에 적힌 의사코드 book.al..

트리의 개념과 이진 트리의 순회

이번 글에서는 트리 자료구조의 개념과, 가장 간단한 트리의 일종인 이진 트리의 순회에 대해 알아봅니다. 목차 1. 트리의 구현과 순회 - 트리란 - 트리의 표현 - 트리의 순회 2. 이진 트리 - 이진 트리의 개념 - 이진 트리의 순회 3. 문제풀이: 트리 기본 - BOJ 1068번: 트리 (골드 V) - BOJ 15681번: 트리와 쿼리 (골드 V) - BOJ 11725번: 트리의 부모 찾기 (실버 II) - BOJ 15900번: 나무 탈출 (실버 I) 4. 문제풀이: 이진 트리의 순회 - BOJ 1991번: 트리 순회 (실버 I) - BOJ 9934번: 완전 이진 트리 (실버 I) - BOJ 4256번: 트리 (골드 III) - BOJ 2263번: 트리의 순회 (골드 II) 5. 문제풀이: 간선의 가..

자기 복제자 (The replicators)

의 2장 "자기 복제자" 부분을 요약한 글입니다. 어떤 책? 리처드 도킨스 Clinton Richard Dawkins 영국의 동물행동학자, 진화생물학자이자 과학 저술가. 1976년 35세 때 쓴 첫 책 로 과학 논쟁의 중심에 섰다. 리처드 도킨스의 이 책은 1859년 다윈의 의 현대판이라고 할 정도로 사회에 큰 영향을 끼친 과학 저술이라고 할 만하다. 인간을 포함한 동물 행동에 대한 난해했던 문제들을 유전자의 관점에서 적절한 생물학적 비유로 풀어간 이 책은 그 창조성과 뛰어난 문장력으로 크게 인정받았다. 책 보러가기 http://www.yes24.com/Product/Goods/4078717 이기적 유전자 - YES24 진화생물학 분야의 과학자치고 리처드 도킨스만큼 대중적 인기와 학술적 논쟁을 결합시킨 ..

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

이번 글에서는 지금까지 공부한 자료구조들(배열, 연결 리스트, 스택, 큐)을 활용하는 기본 문제를 풀어봅니다. 목차 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 단순 연결 리스트와 체인 개념 배열이나 스택, 큐..

사람은 왜 존재하는가? (Why are people?)

의 1장 "사람은 왜 존재하는가?" 부분을 요약한 글입니다. 어떤 책? 리처드 도킨스 Clinton Richard Dawkins 영국의 동물행동학자, 진화생물학자이자 과학 저술가. 1976년 35세 때 쓴 첫 책 로 과학 논쟁의 중심에 섰다. 리처드 도킨스의 이 책은 1859년 다윈의 의 현대판이라고 할 정도로 사회에 큰 영향을 끼친 과학 저술이라고 할 만하다. 인간을 포함한 동물 행동에 대한 난해했던 문제들을 유전자의 관점에서 적절한 생물학적 비유로 풀어간 이 책은 그 창조성과 뛰어난 문장력으로 크게 인정받았다. 책 보러가기 http://www.yes24.com/Product/Goods/4078717 이기적 유전자 - YES24 진화생물학 분야의 과학자치고 리처드 도킨스만큼 대중적 인기와 학술적 논쟁을..

군만두

군만두란 시중에 파는 만두 제품을 구워서 만드는 별 반개짜리 간단한 요리입니다. 물론, 응용해서 조금 독특하게 해먹을 수도 있지만 기본에 충실한 것도 나쁘지 않죠. 참고한 자료 https://youtu.be/aXDA76dqdXk 재료 (3인 기준) 냉동만두 12개 적당량의 기름 (본인은 카놀라유를 사용함) 조리법 1. 팬에 기름을 두르고 냉동만두를 넣습니다 2. 튀겨지는 소리가 나면 물을 조금 넣고 뚜껑을 덮어 3분을 기다립니다 3. 3분이 지나면 뚜껑을 열고 만두가 잘 구워질 때까지 조리합니다 (단, 많이 타지 않도록) 4. 취향에 따라 만두 위쪽까지 바삭하게 구울지 선택할 수 있습니다 완성된 요리의 모습 오늘 점심에 시간이 없어서 아주 간단하게 해먹었지만, 맛있었어요.

단순 선형 회귀

이번 글에서는 단순 선형 회귀(univariate linear regression)에 대해서 알아봅니다. 목차 1. 모델의 표현 - 표기법 - 가설 함수 - 단순 선형 회귀 2. 비용 함수 3. 경사 하강법 - 경사 하강법이란 - 선형 회귀를 위한 경사 하강법 - 주의할 점 작성하면서 참고한 자료 Machine Learning, Andrew Ng https://www.coursera.org/learn/machine-learning 기계 학습 Learn Machine Learning from Stanford University. Machine learning is the science of getting computers to act without being explicitly programmed. In ..

큐 자료구조의 개요와 구현

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