본문 바로가기

분류 전체보기

(91)
프로그래머스 - 정렬 - K번째수 1. 문제 출처 2. 문제 설명 3. 해답모음 - 다양한 정렬 함수의 활용을 통한 학습 1. 문제 출처 문제의 출처는 유명한 프로그래머스 사이트의 코딩테스트 연습 문제를 가져와봤습니다. 문제로 이동하기 2. 문제 설명 (1) Input의 설명 commands = 인덱싱 기준의 input array = 정렬 대상 리스트 (2) 문제의 핵심 - 정렬 방법 이 문제의 input은 굉장히 직관적이어서 이해하기 쉽습니다. 다만 여기서 핵심은 데이터를 정렬할 때 어떤 방식을 이용하여 데이터를 정렬하느냐 입니다. 저는 연습삼아서 기본 내장 함수를 포함하여, 퀵정렬, 버블 정렬, 병합 정렬 등을 이용해서 문제를 풀어보도록 하겠습니다. 3. 해답모음 - 다양한 정렬 함수의 활용을 통한 학습 (1) 내장함수를 이용한 해답..
고급정렬1. 병합정렬(Merge Sort) 완벽 마스터하기 1. 병합 정렬(Merge Sort)이란? 2. 병합정렬의 예시 및 원리 이해 3. 병합 정렬의 코드 구현 1. 병합 정렬(Merge Sort)이란? (1) 병합 정렬의 개념 1) 병합 정렬은 "재귀함수"를 이용한 정렬 알고리즘입니다. 2) 병합 정렬의 순서 - 데이터를 반으로 분리한다. - 데이터의 길이가 1이 될 때까지 계속 반복적으로 분리하다. (재귀함수를 이용) - 갈라진 리스트를 병합할 때, 순서에 맞게 정렬하여 병합한다. 이 원리를 이미지로 쉽게 이해해보면 아래의 그림과 같습니다. 이미지 원본 링크 설명만으로는 바로 이해하기 쉽지 않기 때문에 한 번 예시를 통해서 원리를 다시 한 번 이해해보도록 하겠습니다. 2. 병합정렬의 예시 및 원리 이해 (1) 예시 데이터: [1, 9, 3, 2] 1) ..
동적 계획법(DP)과 분할 정복 마스터하기 1. 동적 계획법과 분할 정복의 기본 개념 2. 피보나치 수열을 통한 동적 계획법과 분할 정복의 차이점 이해 1. 동적 계획법과 분할 정복의 기본 개념 (1) 동적 계획법( Dynamic Programming ) 1) 정의 : 입력 크기가 작은 부분 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서, 보다 큰 크기의 부분 문제를 해결, 최종적으로 전체 문제를 해결하는 알고리즘입니다. 2) 특징 - Memorization의 기법 활용 : Memorization 기법이란 이전에 풀었던 문제의 정답이나 결과 값을 저장하여, 이후의 문제를 풀 때 다시 계산하지 않고, 미리 계산된 값을 불러와서 문제를 해결하는 방법입니다. 가장 쉽게 설명하면 문제를 세부적으로 나누어서 해결할 때 이전에 계산했던 결과를 재활용..
기초 모델링 연습. 와인 품질 예측을 위한 모델링(Wine Quality Prediction) 1. 데이터 기본 설명 - Wine Quality 2. 모델링을 위한 기본 프로세스 설명 3. 실제 모델링을 위한 코드 4. 코드 한 줄 정리 1. 데이터 기본 설명 - Wine Quality 이번 시간에는 모델링의 기초 중에 기초를 복습하는 차원에서 쉽고 유명한 데이터를 가져왔습니다. 이 데이터의 목적은 와인의 품질을 예측하는데 목적을 두고 있습니다. 데이터의 출처는 삽입되어 있는 주소로 따라가지면 편하게 다운 받을 수 있습니다. 각종 변수들은 산도, 알콜 농도, 잔여 당분 등 여러 가지 변수가 있습니다. 원래는 데이터 특성에 대한 심층적인 탐구가 이루어진 이후에 모델링으로 들어가는 것이 맞지만, 이번 포스팅은 "아 모델링은 이러한 과정을 거쳐서 이루어지는구나~"에 초점을 맞추기 때문에 최대한 단순하게..
재귀함수의 완벽 이해 및 구현(Recursive Function) 1. 재귀함수의 기본 원리 2. 재귀함수의 기본 문제 연습 - 피보나치 수열 1. 재귀함수의 기본 원리 (1) 재귀함수의 정의 : 함수 안에 자신의 함수를 다시 호출하는 함수를 의미합니다. 이러한 재귀함수는 자신의 로직을 내부적으로 반복하다가, 일정한 조건이 만족되면 함수를 이탈하여 결과를 도출합니다. (2) 재귀함수의 기본적인 구현 방법 2가지 일반적으로 재귀함수는 2가지 형태로 표현될 수 있습니다. 우선 기본적인 표현식을 익히고, 간단한 예시를 통해서 그 원리를 이해해보도록 하겠습니다. 1) 첫 번째 재귀함수 표현 방법 1 2 3 4 5 def function(입력): if 입력 > 일정값: # 입력이 일정 값 이상이면 return function(입력 - 1) # 입력보다 작은 값 else: ret..
기본 정렬3. 선택 정렬(Selection Sort) 구현하기 1. 선택 정렬(Selection Sort)의 기본 개념 2. 선택 정렬의 예시와 원리 파악 3. 실제 코드 구현 및 예시를 통한 이해 1. 선택 정렬(Selection Sort)의 기본 개념 선택 정렬(Selection Sort)를 간단하게 정의하면, 주어진 데이터 중 최소값을 찾아서, 계속 맨앞으로 위치를 바꾸면서 순서를 바꾸는 방법입니다. 그림을 보면서 이해하면 더 쉽게 이해할 수 있습니다. (출처: en.wikipedia.org/wiki/Selection_sort) 위의 사진에서 보이는 것처럼 주어진 숫자 중 3이 가장 최소값이어서 자리를 바꾼다면 6과 자리를 바꾸게 되겠죠. 이런식으로 하나하나 계속 비교하면서 자리를 찾아가는 방법입니다. 기본 개념을 3단계로 요약하면 다음과 같습니다. 1단계. ..
기본 정렬2. 삽입 정렬(Insertion Sort) 1. 삽입 정렬(Insertion Sort)의 기본 개념 2. 삽입 정렬의 예시와 손 코드 구상 3. 삽입 정렬의 코드 구현 4. 삽입 정렬의 실제 활용 1. 삽입 정렬(Insertion Sort)의 기본 개념 삽입 정렬의 기본 원리를 3단계로 요약하면 다음과 같습니다. 첫 번째. 삽입 정렬은 두 번째 인덱스부터 시작합니다. 두 번째. 해당 인덱스(key 값) 앞에 있는 데이터부터 비교해서, key 값이 더 작으면 그 데이터 값을 뒤 인덱스로 복사한다 세 번째. 이를 key 값이 더 큰 데이터를 만날 때까지 반복하고 그리고 큰 데이터를 만난 위치 바로 뒤에 key 값을 이동 이를 시각화하여 표현하면 다음과 같다. (출처: commons.wikimedia.org/wiki/File:Insertion-sort..
GA구축의 기초2. GTM으로 고도화된 추적 코드 설치하기 1. GTM 추적 태그/코드의 확인 2. GTM 추적 코드의 삽입 3. GTM 추적 태그의 생성 안녕하세요 지난 시간까지는 Google Analytics를 통해서 데이터를 추적하는 실습을 했었습니다. 그러나 단순 Google Analytics 추적 코드를 통해서는 디테일한 데이터를 전혀 수집할 수 없습니다. 그래서 고도화된 데이터 축적 및 분석을 위해서는 반드시 Google Tag Manager를 통해서 데이터를 수집해야만 합니다. 오늘은 GTM의 시작, 추적코드를 심는 방법에 대해서 알아보도록 하겠습니다. 1. GTM 추적 태그/코드의 확인 (1) 추적 태그 정보가 저장되어 있는 메뉴 우선 [ 태그 관리자 -> 관리자 탭 -> Google 태그 관리자 설치 ]로 들어오시면 필요한 정보를 확인하실 수 있..

728x90
반응형