목록전체 글 (167)
No Limitation

본 포스팅은 다음 자료들을 참고하였습니다 : 한동대학교 한다성 교수님 강의 자료 https://siyoon210.tistory.com/85 https://mangkyu.tistory.com/102 해시는 검색과 저장에 특화된 자료구조로 python의 경우 dictionary가 내재적으로 해시로 저장되어 있다...! 빠르게 저장할 수 있는 기저에는 데이터를 검색할 때 사용할 key와 실제 데이터의 값이 (value가) 한 쌍으로 존재하고, key값이 배열의 인덱스로 변환되기 때문에 검색과 저장의 평균적인 시간 복잡도가 O(1)로 수렴하게 된다. 예를 들어보자 (yscho, "1022") 를 담고 있는, 즉, 'yscho'를 key로 '1022'를 value로 가지고 있는 자료 구조라고 했을 때, 이 데이터..

https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 굉장히 단순하게 접근할 수 있는 문제로 문제에서 기술한 방법론을 그대로 코드로 구현하면 된다. 'I'가 등장할 때 삽입 'D 1'일 때 큰 거 추출 'D -1'일 때 작은 거 추출 다만 남은 목록 중에서 최대 = 최소 (예를 들면 1개인 경우) 비어 있거나 이런 특수한 경우를 예외 처리 해주어 최대와 최소를 뽑는 방법론을 구축하면 됨 다만 최대 값을 뽑는 method가 있다는 거 hp_.heapify_max(answer)라는 게 있다는 걸 알아두자 python에!
https://programmers.co.kr/learn/courses/30/lessons/42626?language=python3 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr heapq 연습 문제로 적합한듯 import heapq as hp def solution(scoville, K): answer = 0 # heap화 시킴 hp.heapify(scoville) ## 최소 힙으로 사용 ## K 이상으로 만들 수 있을 때 while(scoville[0] < K and len(scoville)..

참고 강의 https://www.youtube.com/watch?v=VHky3d_qZ_E 고려대학교 산업경영공학부 강필성 교수님 원문에 대한 자세한 분석은 다음 강의를 참고하자 [추후에 참고] https://www.youtube.com/watch?v=VkaZXGknN3g 고려대학교 산업경영공학부 석사과정 윤훈상 Decision Tree 기반의 알고리즘이 발전된 순서를 잘 정리해 놓은 도식표를 참고해보자 ( 금일 정리할 XGB까지 어떠한 흐름으로 발전 했는지 ) 각각의 설명을 다시 깊게 파헤쳐보자 Decision Tree : A graphical representation of possible solutions to a decision based on certain conditions Bagging : B..

참고 온라인 강의 영상 고려대학교 산업경영공학부 강필성 교수님 https://www.youtube.com/watch?v=4C8SUZJPlMY Boosting 시리즈 (Ada-XG-LightGBM-Cat) 중 하나인 LightGBM부터 다루어보도록 하겠습니다! LightGBM이 개발된 배경 : 전통적인 GBM은 DT 기반의 알고리즘 특성상, 모든 변수들에 대해, 모든 객체를 scan하여 동작을 해서 information gain을 측정하게 된다. ( 여기서 information gain은 DT에서 분류 기준을 정한 뒤 엔트로피가 주는 정도, 즉 pruning을 통해 얼마나 잘 분류가 되는 지를 측정하는 지표 ) 위 두 문제를 대응하기 위해 LightGBM은 어떠한 방법을 적용할까? [1] 모든 객체를 sc..

https://programmers.co.kr/learn/courses/30/lessons/42586?language=pyth 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr [93, 30, 55] → progresses [1, 30, 5] → speeds 같이 구성이 되어 있을 때 각 기능마다 일이 처리될 수 있는 시간은 다음과 같이 분포한다 [7, 3, 9] 즉, 93% 일이 처리 된 기능의 경우 한번에 1만큼 처리를 하므로 총 7 30% 일이 처리 된 기능의 경우 한번에 30만큼 처리를 하므로 총..

https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 본 문제는 특별한 개념보다는 문제에 해당하는 조건을 잘 잡아 구현을 하는 문제다. 즉 이런 식으로 트럭이 움직이는 시뮬레이션을 구현해주는 것이다. 단, 최소가 걸리므로 하중이 견딜 수 있는 한에서는 많은 트럭이 다리를 동시에 건너게끔 해주는 조건을 추가해주어야 한다. n, w, L = [int(x) for x in input().split()] tr..

https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 우선 문제의 내용을 그대로 훝어보면 다음과 같습니다 4개의 문서에 대한 중요도가 다음과 같이 있을 때 다음과 같이 구성된다. 현재 바라보고 있는 0번째 문서는 중요도가 2, 하지만 뒤에 3이라는 중요도가 더 큰 문서가 있으므로 맨 뒤로 옮겨줍니다 그 다음으로 문서를 바라봅니다 마찬가지로 중요도가 높지 않으므로 맨 뒤로 옮겨줍니다 이 중 가장 중요도가 큰 녀석이 남으..

https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 본 문제는 각 price 정보마다 해당 price가 언제 감소하는 지까지의 기간을 초 단위로 count하여 리스트에 저장하는 문제 굉장히 효율성을 고려하지 않을 때 코드는 다음과 같다. 물론 해당 코드도 비교적 쉽게 통과가 되었다. 최악의 경우 O(n^2) 정도의 알고리즘이 된다. 하지만 효율성 부분이 115ms 정도가 ..

https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 처음에 생각했던 포인트는 어떠한 조건을 만족하는 것 중에서 가장 큰 값을 찾는 문제이고 이를 가장 빠르게 처리할 수 있는 방법론은 바로 binary search라고 생각을 했습니다 문제 예시의 3 0 6 1 5의 예시를 보면 우선 첫 번째로 정렬을 우선 해 준 다음 → 0 1 3 5 6 (nlogn) 저 중에서 Lower boun..