일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- two pointer
- python3
- 코딩테스트
- 재귀
- Github
- 재귀함수
- 머신러닝
- 알고리즘
- 백트래킹
- sort
- CS
- 투포인터
- Virtual Memory
- ML
- 코테
- 완전탐색
- dfs
- 파이썬
- Python
- 백준
- BF
- OS
- Algorithm
- 프로그래머스
- backtracking
- 신나는함수실행
- 정렬
- 1일1솔
- Loss
- 브루트포스
- Today
- Total
목록Algorithm (13)
이것저것 공부 기록하기
슬라이딩 윈도우(sliding window)란 고정 사이즈의 윈도우가 이동하면서 윈도우 내에 있는 데이터를 이용해 문제를 풀이하는 알고리즘이다. 원래 네트워크에서 사용되던 알고리즘을 문제 풀이에 응용한 경우라고 한다. 슬라이딩 윈도우는 네트워크 용어로, 2개의 네트워크 호스트 간의 패킷 흐름을 제어하기 위한 방법을 지칭하기도 하기 때문이다. 투 포인터와 유사하지만 이와 구분하기 위해 일반적으로 고정 사이즈 윈도우를 사용하는 경우를 슬라이딩 윈도우로 따로 구분하기도 한다. 또한, 투 포인터는 주로 정렬된 배열을 대상으로 하지만, 슬라이딩 윈도우는 정렬 여부에 관계없이 활용된다. 즉, 이름 그대로 생각하면 편하다. 투 포인터는 좌우 포인터가 자유롭게 이동하며 윈도우 사이즈가 가변적인 반면, 슬라이딩 윈도우는..
programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 n..
Ice Cream Parlor | HackerRank Help Sunny and Johnny spend all their money during each trip to the Ice Cream Parlor. www.hackerrank.com 문제 풀이 그냥 이중 for문으로 간단하게 풀린다. def icecreamParlor(m, arr): for i in range(len(arr)): for j in range(i, len(arr)): if arr[i] + arr[j] == m and i != j: return i+1, j+1
먼저, XGBoost와 lightGBM은 앙상블 알고리즘이므로 잠시 앙상블에 대해 간략히 다뤄보겠습니다. 앙상블(Ensemble)이란? 앙상블 학습은 여러 개의 결정 트리(Decision Tree)를 결합하는 것으로, 하나의 결정 트리보다 알고리즘 성능을 더 높일 수 있습니다. 앙상블 학습을 통해 약한 분류기(Weak Classifier) 여러 개를 결합해서 강한 분류기(Strong Classifier)를 만들 수 있습니다. 머신러닝 앙상블은 크게 배깅(Bagging), 부스팅(Boosting)으로 구분됩니다. 배깅(Bagging) 배깅(Bagging)은 Bootstrap Aggregation의 약자로 샘플을 여러 번 뽑는 Bootstrap 과정을 거쳐 각 모델을 학습시킨 후 그 결과물을 집계(Aggre..
문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..