본문 바로가기

Deep Learning/Python-Algorithm8

📔 이.코.테 Part2. 다이나믹 프로그래밍(DP) 정리노트 Chap8. 다이나믹 프로그래밍(Dynamic Programming) 본 포스팅은 나동빈 저자의 '이것이 취업을 위한 코딩테스트다'를 공부하며 정리한 노트입니다. 한 번 계산한 문제는 다시 계산하지 않도록 하는 알고리즘 Intro Question - 컴퓨터로도 해결하기 어려운 문제에는 무엇이 있을까요? 우리는 컴퓨터로 대부분의 문제를 해결할 수 있지만 컴퓨터로 해결하기 어려운 문제도 존재합니다 최적의 해를 구하기에 시간이 매우 많이 필요한 문제나 메모리 공간이 많이 필요한 문제 등이 있습니다 이렇게 제한된 자원을 최대한 효율적으로 활용할 수 있는 알고리즘이 필요합니다 이번 시간에 배울 다이나믹 프로그래밍(Dynamic Programing 또는 동적 계획법)이란 메모리 공간을 약간 더 사용하면 연산 속도를.. 2021. 1. 12.
📔 이.코.테 Part2. 정렬(Sort) 알고리즘 정리노트 Ch06. 정렬 알고리즘(Sort) 본 포스팅은 나동빈 저자의 '이것이 취업을 위한 코딩테스트다'를 공부하며 정리한 노트입니다. 정렬(Sort)이란 데이터를 특정 기준에 따라 순서대로 나열하는 것을 말한다 일반적으로 문제 상황에 따라서 적절한 정렬 알고리즘이 공식처럼 사용된다 ✅ 굉장히 다양한 문제 상황에서 적절한 정렬 알고리즘을 사용하는 것이 중요하다 선택 정렬(Selection Sort) 삽입 정렬(Insertion Sort) 퀵 정렬(Quick Sort) 계수 정렬(Count Sort) 파이썬 정렬 라이브러리(Sort Library) 1. Selection Sort # Selection Sort array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(.. 2020. 12. 10.
📔 이.코.테 Part2. BFS, DFS알고리즘 및 구현(Python) README.MD 동빈나님의 '취코테를 위한 DFS, BFS' Youtube강의를 듣고 직접 실행해본 코드입니다 Reference: https://www.youtube.com/watch?v=PqzyFDUnbrY&t=2712s -20.09.18.Fri. am 10:00 ~ 11:30 Steve-YJ/Colab_Exercise Contribute to Steve-YJ/Colab_Exercise development by creating an account on GitHub. github.com DFS Depth-First-Search 깊이 우선 탐색 그래프에서 깊은 부분을 우선적으로 탐구하는 알고리즘입니다 DFS 동작 과정은 다음과 같습니다 탐색의 시작노드를 스택에 삽입하고 방문 처리를 한다 스택의 최상단 .. 2020. 9. 18.
[Basic of Basic] 알고리즘 기본 정리 - 단방향 리스트와 양방향 리스트 본 포스팅은 '그림으로 배우는 알고리즘 Basic' - 스기우라 켄 저, 영진닷컴 출판 - 을 공부하며 정리한 포스팅입니다 1. 자료구조 - 배열. 리스트 단방향 리스트와 양방향 리스트를 배우기 앞서 배열과 리스트에 대해 간단히 짚고 넘어가 보도록 하자. 앞선 포스팅에서 말했듯이 배열이란 '데이터를 빈틈없이 나열한 자료구조'이다. 반면 리스트는 데이터를 순서대로 나열한 자료구조이다. 얼핏 보면 두 자료구조가 크게 다르지 않아 보일 수 있지만 두 자료구조는 다른 특징을 가지고 있다. 배열과 리스트 배열 1차원 배열의 경우 요소를 일직선 상에 빈틈 없이 나열하여 리스트를 정렬한다 조회가 빠르다 삽입. 삭제 시 오래 걸린다 리스트 '방향성이 있는 끈'으로 각각의 요소들을 연결시켜 데이터를 정렬한다 조회가 느리.. 2020. 8. 30.
[Basic of Basic] 알고리즘 기본 정리 - 자료구조란 무엇인가? 본 포스팅은 '그림으로 배우는 알고리즘 Basic' - 스기우라 켄 저, 영진닷컴 출판 - 을 공부하며 정리한 포스팅입니다 우선 자료구조란 무엇인지에 대해 알아보도록 하자. 간단한 예제와 함께 자료구조에 대한 감을 잡으면 성공이다. 1. 자료구조란 무엇인가? "대량의 데이터를 효율적으로 관리하고자 하는 메커니즘이 바로 자료구조이다" 일상 속에서 살펴볼 수 있는 자료구조로는 어떤 것들이 있을까? 우편번호 전화번호 반, 번호 우리 일상속에서 찾아볼 수 있는 대표적인 자료구조는 바로 '우편번호'이다. 우정사업본부에서는 우편물의 효율적인 관리를 위해 5자리 구역번호를 사용한다. 처음 두 자릿수를 통해서는 '시. 도'를 파악할 수 있고, 세 자리를 통해서는 자치구까지 파악할 수 있으며 마지막 두 자리로는 '시. .. 2020. 8. 30.
[파이썬 알고리즘 인터뷰] P01. Valid Palindrome 팰린드롬 문제풀이 본 포스팅은 책만 출판사에서 출간한 박상길 님의 '파이썬 알고리즘 인터뷰'를 바탕으로 작성된 포스팅입니다. 개인 공부 목적으로 책을 통해 공부한 알고리즘의 주요 내용들을 요약. 정리합니다. 문제 정의 소주 만 병만 주소 여보 안경 안 보여 다들 잠들다 "A man, a plan, a canal: Panama" 위와 같이 앞 뒤가 똑같은 단어나 문장으로, 뒤집어도 같은 말이 되는 단어 또는 문장을 팰린드롬(Palindrome)이라고 합니다. 우리 말로는 '회문'이라고 합니다. LeetCode 125번 문제, Valid Palindrome 문제를 풀어보도록 하겠습니다 본 문제 풀이를 통해 문자열 처리, 리스트, 데크(Deque) 자료형, 파이썬 슬라이싱 등의 개념을 학습할 수 있습니다. 한번 도전해보시고, .. 2020. 8. 28.