TJ_Log
close
프로필 배경
프로필 로고

TJ_Log

  • 분류 전체보기 (99)
    • Data Engineering (28)
      • Data Engineering? (2)
      • Hadoop (3)
      • Elasticsearch (0)
      • Redis (4)
      • Spark (6)
      • Kafka (4)
      • Airflow (1)
      • DB (2)
      • 자격증 (6)
    • Data Analysis (2)
      • Machine Learning(ML) (1)
      • NLP (1)
    • Infra (9)
    • ETC (19)
      • Network (1)
      • Linux (4)
      • Algorithm (3)
      • Spring (3)
      • Python (2)
      • Scala (2)
      • Java (3)
      • Javascript (1)
    • Project (9)
    • Trouble shooting (2)
    • Experience (1)
    • Programmers TIL (28)
      • Algorithm (8)
  • 홈
  • 태그
  • 방명록
[Algorithm - DP] Dynamic Programming 이란 (Programmers - N으로 표현)

[Algorithm - DP] Dynamic Programming 이란 (Programmers - N으로 표현)

1. 동적계획법 (Dynamic Programming)문제에 답인지를 확인하기 위해 탐색해야하는 범위를 동적으로 결정하면서 탐색 범위를 한정할 수 있음(탐색범위가 굉장히 넓은 문제에서 범위를 조금 씩 좁혀가며 해를 찾을 수 있음)주어진 최적화 문제를 재귀적인 방식을 이용해 작은 부문으로 나누고 해를 조합해 전체 문제의 해답에 이르는 방식임 2. DP의 적용 예 - 피보나치 수열피보나치 수열 : 직전 두 열의 항이 해당열의 값이 되는 수열f(4)를 구하기 위해 재귀함수로 구현할 경우 복잡도는 지수함수의 형태로 엄청나게 증가한다.동적계획법으로 구현 시 부분문제에 대한 답을 구해놓고 그 답을 이용해서 큰 문제를 풀어가면서 해를 찾아간다.복잡도는 선형함수의 형태로 나타나게 된다. 3. Programmers - ..

  • format_list_bulleted ETC/Algorithm
  • · 2022. 6. 21.
  • textsms
[Algorithm - Heap] Heap에 대해서 (Programmers - 더 맵게)

[Algorithm - Heap] Heap에 대해서 (Programmers - 더 맵게)

heap 최소/ 최대 원소를 빠르게 찾을 수 있도록 만들어진 자료구조 완전 이진트리(complete binary tree)로 구성됨 큐에 우선순위 개념을 도입한 우선순위 큐구조를 사용하며 우선순위가 높은 데이터가 먼저 나간다. Python heapq의연산종류와 시간복잡도 힙 구성 (heapify) - O(NlogN) 삽입 (heappush) - O(logN) 삭제 (heappop) - O(logN) Programmers heap 문제 - 더 맵게 https://programmers.co.kr/learn/courses/30/lessons/42626 import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) for i in range..

  • format_list_bulleted ETC/Algorithm
  • · 2022. 6. 21.
  • textsms

[Spark] Spark SQL, DataFrame, Datasets (Structured Data)

1. Structured vs Unstructured Data Unstructured (free form) : 로그 파일, 이미지 Semi Structured (행과 열 or key와 value) : CSV, JSON, XML Structured (행과 열 + 데이터 타입(스키마)) : 데이터베이스 2. Structured Data vs RDD RDD 데이터의 구조를 모르기때문에 데이터를 다루는 것을 개발자에게 의존 Map, flatMap, filter등을 통해 유저가 만든 function을 수행 -> 유저 숙련도에 따라 성능이 차이나게됨 Structured Data 데이터의 구조를 이미 알고있으므로 어떤 테스크를 수행할것인지 정의만 하면 됨 최적화 자동으로 수행됨 (Catalyst Optimize와 T..

  • format_list_bulleted Data Engineering/Spark
  • · 2022. 6. 21.
  • textsms

[Python] 정규식 (문자열 처리) - 자주 사용하는 정규식

1. re 사용 패턴 패턴 문자 의미 . 줄바꿈 문자를 제외한 1글자를 의미 ^ 문자열의 시작을 의미. 또는 not의 의미. $ 문자열의 끝을 의미 [] 문자의 집합 e.g. [xyz] 라고 패턴을 적게되면 x또는 y또는 z라는 문자와 매칭됨. [x-z] : 이렇게 범위로도 적을 수 있음. [^a] : a를 제외한 모든 문자를 의미. | or의 의미 e.g. a|b : a 또는 b문자를 의미 () 어떤 정규식을 하나의 그룹으로 묶어줌 e.g. ([a-c])([x-z]) : a, b, c와 매칭될 수 있는 그룹 1개와 x, y, z와 매칭될 수 있는 그룹을 의미. ax, az, by 등은 위 패턴과 매칭됨. 만약 괄호라는 문자 자체를 매칭하고싶으면 \(, \) 등으로 백슬래쉬를 이용한 escape를 해줘야..

  • format_list_bulleted ETC/Python
  • · 2022. 5. 29.
  • textsms

[Javascript] 호이스팅(Hoisting) 및 함수 정의 방법

1. Hoisting의 개념 함수안에 있는 선언들을 모두 끌어올려서 해당 함수 유효범위의 최상단에 선언하는 것 => 함수에 필요한 변수값들을 모두 모아 맨 위에 선언해주고 값은 함수 안에서 할당해준다. Javascript는 Parser가 함수 실행 전 해당 함수를 한 번 훑고 기억하고 있다가 실행시키며 유효 범위는 { }안에서 유효하다. => 즉, 코드 실행 보다 먼저 메모리에 저장되는 과정 2. var, let, const 키워드 변수의 생성 단계를 살펴보면 1 선언 단계 : 변수를 실행 컨텍스트의 변수 객체에 등록, 이 변수 객체는 스코프가 참조하는 대상이 된다. 2 초기화 단계 : 객체에 등록된 변수를 위한 공간을 메모리에 확보, 이 단계에서 변수는 undefined로 초기화된다. 3 할당 단계 :..

  • format_list_bulleted ETC/Javascript
  • · 2022. 5. 29.
  • textsms
[Spring] Spring 기본개념 (AOP, Spring boot)

[Spring] Spring 기본개념 (AOP, Spring boot)

1. Spring AOP (Aspect Oriented Programming) AOP는 프로그램의 핵심인 비즈니스 로직과 분리되는 횡단관심사(cross-cutting concern)를 분리, 모둘화하여 설계하고 개발하는 방법론을 뜻한다. 주로 로깅이나 세션같은 기능을 개발할 때 주로 사용되는데 예를들어, 로깅에 있어 기능 별 소스코드에 로깅을 위한 코드를 함께두어 비즈니스 로직과 같이 실행되는것이 아닌 로깅을 담당하는 특정 모듈을 만들어 해당 기능이 실행될 때 이 모듈을 통해 로깅을 하는 것을 AOP라 할 수 있다. 관점 지향 프로그래밍 => 어떤 로직 기준 핵심적인 관점, 부가적인 관점으로 나눠 각각 모듈화 하는 것 소스 코드상에 계속 반복해서 쓰는 코드를 흩어진 관심사라 부름, 흩어진 관심사를 Asp..

  • format_list_bulleted ETC/Spring
  • · 2022. 5. 26.
  • textsms
  • navigate_before
  • 1
  • ···
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (99)
    • Data Engineering (28)
      • Data Engineering? (2)
      • Hadoop (3)
      • Elasticsearch (0)
      • Redis (4)
      • Spark (6)
      • Kafka (4)
      • Airflow (1)
      • DB (2)
      • 자격증 (6)
    • Data Analysis (2)
      • Machine Learning(ML) (1)
      • NLP (1)
    • Infra (9)
    • ETC (19)
      • Network (1)
      • Linux (4)
      • Algorithm (3)
      • Spring (3)
      • Python (2)
      • Scala (2)
      • Java (3)
      • Javascript (1)
    • Project (9)
    • Trouble shooting (2)
    • Experience (1)
    • Programmers TIL (28)
      • Algorithm (8)
최근 글
인기 글
최근 댓글
태그
  • #docker
  • #RDB
  • #Kafka
  • #db
  • #scala
  • #자격증
  • #dea
  • #data engineering associate
  • #spark
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바