본문 바로가기

전체 글

(68)
[프로그래머스] 조이스틱 https://gurumee92.tistory.com/182 프로그래머스 문제 풀이 조이스틱 문제 URL 조이스틱 Contents 문제 지문 파악하기 구르미의 알고리즘 풀이 문제 지문 파악하기 이번에도 문제의 입력을 통해서, 문제를 파악해보도록 하겠습니다. 다음은, 문제의 입력입니다. 입력: name = "JAZ".. gurumee92.tistory.com 1. 사용 알고리즘: 탐욕 알고리즘 : 각 상황에 대해 최적해를 찾아야 한다! 최적해를 찾아야 할 상황들) -상황 1 : 문자를 바꿀 때 위로 ? 아래로? -상황 2 : 방향은 오른쪽으로 가야 할까? 왼쪽으로 가야할까? 상황을 나누고 각 상황에서 나온 솔루션들을 비교하여 최적해를 고르면 된다!! 다시 풀어보기 고려할 사항: while 문을 사용할 때 ..
[프로그래머스] level 1 - 체육복 https://rain-bow.tistory.com/entry/Python-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%B2%B4%EC%9C%A1%EB%B3%B5 [Python] 프로그래머스 - 체육복 - 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학.. rain-bow.tistory.com 필요 알고리즘: Greedy Algorithm 각 상황에서 최적해를 찾는 알고리즘. 1. 데이터 전처리 2. 각 상황에서 행동의 우선순위 고려해야 함. 내가 생각한 풀이법: _can = [1 for i..
[Hash table] 1.Limit of divide and conquer : the efficiency is limited to the logarithm of the problem size! still remain time complex.. 2. Searching and sorting without comparison!! but... how..? 3. Hash Table : Dictionary 형식 key , value 사용! hash funtion은 key를 이용하여 array index를 찾아 거기에 value를 store 한다! -> time complex 없이 그냥 찾을 수 있음! f( Key ) -> array index -> store value * one key -> one index * multi key ->..
[Sorting Algorithm] O(N^2) Sorting -Without a divide-and-conquer approach -Sequential comparisons with two index iteration: 두 번의 iteration -> N! -종류:Insertion Sort / Selection Sort / Bubble Sort O(N * logN) Sorting -With a divide-and-conquer approach : 타겟 시퀀스를 쪼개서 비교한다! -recursion 이 들어감! -종류: Quick Sort : pivot (기준점) 을 설정하고, 이를 기준으로 원소를 pivot보다 더 큰 것/ pivot보다 더 작은 것으로 나눈다. pivot을 잘 설정하지 않으면 그냥 O(N^2) 될 수도 있음! Merge..
Genetic Algorithm 문제 풀이 난이도 : optimize 루트를 계산하는 시간이 오래 걸릴수록 + optimize 하다는 확신이 없을수록 어려운 문제이다. (1) Traveling salesman problem TSP 의 해결 시간은.... O(N!) complexity (2) Search space and global optimum binary search tree 는 이미 최적의 경로가 define 되어 있다. 반면 path가 정의되어 있지 않은 거대한 N 사이즈의 데이터에서 global optimum 을 찾아야 한다면 최적의 경로를 확신할 수 없고, 도달한 곳이 Local optimum 일수도 있어 어려운 문제가 될 것이다. 이때 필요한 것이 Heuristic! Heuristic Algorithm : 구조나 규칙이 있..
Priority Queue and Heap 강의 : https://www.edwith.org/datastructure-2019s2/joinLectures/22005 1.Queue input gate와 output gate가 별개로 존재하는 data storage Data In : Enqueue Data out : Dequeue Queue에 In 한 순서대로 데이터 Out. (FIFO) 2. Priority Queue Queue 에 들어가는 data에 우선순위(Priority)가 존재함! 들어온 순서에 상관 없이 우선순위가 높은 data 먼저 dequeue. - Lazy approach == Unsorted implementation : Enqueue 할 때는 그냥 넣고 -> Dequeue 할 때 priority 순으로 out! -Early-Bir..
[python] bool 연산 bool() : 인수가 True인지 False인지 알려주는 함수 bool(0) # False bool(1) # True bool( 99) # True bool("") # False bool([]) #False
Big O notation 동작하는 프로그램의 효율성을 왜 재야할까? 큰 데이터를 분석할 때, runtime이 너무 오래 걸리면 결국 효용성이 없는 프로그램이라는 뜻!(indfficient) program 의 효율성을 따질 때 고려할 것 -Algorithm : (1)문제를 풀기 위하여 (2)명확히 정의된 지시들 - Data Structure : 데이터가 만들어져 있는 구조 모두 중요하다!! Big O notation 왜 우리는 효용성을 고려할 때, Big O notation을 사용할까? Big O notation은 최악의 경우를 가정하여 runtime이 '적어도' 이정도는 걸릴 것이다 라는 보장을 한다. --> 현업에서는 적어도 얼마나 걸릴지가 중요하기 때문에 Big O notation을 주로 사용함. Big O notation이..