전체 글
-
[Programmers] 입국심사 Solution (C++)Algorithm/C++ 2021. 1. 31. 00:00
문제 원문 링크 : https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 이 문제의 핵심은 binary search보다도, overflow handling에 있는 것 같다. binary search를 이용하는 것은 그리 어렵지 않다. 우리가 구하고자 하는 것은 결국 n명을 심사하기까지 걸리는 최소의 "시간"이다. 따라서 시간의 범위를 정해주고, 그 범위 내에서 binary search를 통해 원하는 값을 찾도록 설계..
-
[LeetCode] 14. Longest Common Prefix (Python)Algorithm/Python 2020. 10. 25. 16:40
문제 원문 링크 : leetcode.com/problems/longest-common-prefix/ Longest Common Prefix - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이 문제는 굉장히 쉽다. Easy라고 붙어있는 글씨 그대로다. 먼저 가장 간단하게 떠올릴 수 있는 vertical scanning으로 풀어보겠다. 1. Vertical scanning 1. 주어진 string list를, 각 원소의 길이를 기준으로 오름차순 정렬한다. (이때 ..
-
XGBoost Custom Objective and Evaluation MetricMachine Learning & Deep Learning 2020. 6. 9. 00:54
먼저 XGBoost가 무엇인지, 모델 학습에 있어서 objective function이 지니는 의미는 무엇인지 간단히 짚고 가겠다. XGBoost는 eXtreme Gradient Boosting의 약자로, AdaBoost, Gradient Tree Boosting과 같은 Boosting 계열 algorithm이다. 여기서 Boosting이란 Bagging과 더불어 Ensemble(앙상블) 기법들 중 하나를 말한다. Bagging은 parallel하게(병렬적으로) model을 학습하고, 각 model의 결과를 최종 결정에서 고려하는 반면, Boosting은 연속적으로 이전 model의 결과를 고려하는 방식이다. 즉 model들이 서로 dependent하다. * Ensemble이란 여러 개의 weak lea..
-
[LeetCode] 11. Container With Most Water Solution (C++)Algorithm/C++ 2020. 5. 31. 01:20
문제 원문 링크 : https://leetcode.com/problems/container-with-most-water/ Container With Most Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 얼핏 보면 https://www.acmicpc.net/problem/1725 1725번: 히스토그램 문제 히스토그램에 대해서 알고 있는가? 히스토그램은 아래와 같은 막대그래프를 말한다. 각 칸의 간격은 일정하고, 높이는 어떤 정수로 주어진다. 위 ..
-
[Programmers] 등굣길 Solution (Python)Algorithm/Python 2020. 5. 18. 03:14
문제 원문 링크 : https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr Dynamic Programming 카테고리에 있는 문제다. 얼핏 보면 굉장히 쉬워보이고 금방 풀릴 것 같은데, 은근히 생각지도 못한 곳에서 발목을 잡혔다. 문제에서 집이 왼쪽 상단, 학교가 오른쪽 하단에 위치하기 때문에, 학생은 오른쪽 또는 아래쪽으로만 이동한다고 생각하면 된다. 왼쪽이나 위쪽으로 도중에 움직이게 된다면 최단 경로..