[Programmers] 등굣길 - Python
·
알고리즘/프로그래머스
난이도: Lv. 3 문제 설명계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다.아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다.격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한 사항 격자의 크기 m, n은 ..
[Programmers] 야근 지수 - Python
·
알고리즘/프로그래머스
난이도: Lv. 3 문제 설명회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한 사항works는 길이 1 이상, 20,000 이하인 배열입니다.works의 원소는 50000 이하인 자연수입니다.n은 1,000,000 이하인 자연수입니다. 문제 예제worksnresult[4, 3, 3]412[2, 1, 2]16[1, 1]30 입..
[Programmers] 테이블 해시 함수 - Python
·
알고리즘/프로그래머스
난이도: Lv. 2 문제 설명완호가 관리하는 어떤 데이터베이스의 한 테이블은 모두 정수 타입인 컬럼들로 이루어져 있습니다. 테이블은 2차원 행렬로 표현할 수 있으며 열은 컬럼을 나타내고, 행은 튜플을 나타냅니다.첫 번째 컬럼은 기본키로서 모든 튜플에 대해 그 값이 중복되지 않도록 보장됩니다. 완호는 이 테이블에 대한 해시 함수를 다음과 같이 정의하였습니다.해시 함수는 col, row_begin, row_end을 입력으로 받습니다.테이블의 튜플을 col번째 컬럼의 값을 기준으로 오름차순 정렬을 하되, 만약 그 값이 동일하면 기본키인 첫 번째 컬럼의 값을 기준으로 내림차순 정렬합니다.정렬된 데이터에서 S_i를 i 번째 행의 튜플에 대해 각 컬럼의 값을 i 로 나눈 나머지들의 합으로 정의합니다.row_begi..
[Docker] 2. Docker란?
·
Docker 및 Kubernetes/Docker
이번 글에서는 Docker에 대해 공부한 것을 간략하게 정리하려고 한다. 이전글과 이어지니 안보고 오신 분들은 보고 오는 것을 추천한다. Docker 이해하기 - 1. 가상화 (Virtualization) Docker 이해하기 - 1. 가상화(Virtualization)이 글에서는 Docker를 공부한 내용을 정리하려고 한다. Docker를 알기전에는 가상화에 대해서 알아야한다. 먼저, 가상화를 정의해보자면 하나의 물리적 컴퓨터 자원을 여러 개의 가상 환경으로 나laewonjeong.tistory.com  🐳 What is Docker? `Docker`는 컨테이너 기반의 오픈소스 가상화 플랫폼이다.  애플리케이션과 그 실행 환경을 컨테이너라는 가벼운 단위로 묶어 배포하고 실행할 수 있는 플랫폼이라 생각..
[LeetCode] 2064. Minimized Maximum of Products Distributed to Any Store - Python
·
알고리즘/LeetCode
문제 설명You are given an integer n indicating there are n specialty retail stores. There are m product types of varying amounts, which are given as a 0-indexed integer array quantities, where quantities[i] represents the number of products of the ith product type. You need to distribute all products to the retail stores following these rules:A store can only be given at most one product type but ca..
[Docker] 1. 가상화(Virtualization)
·
Docker 및 Kubernetes/Docker
이 글에서는 Docker를 공부한 내용을 정리하려고 한다. `Docker`를 알기전에는 `가상화`에 대해서 알아야한다. 먼저, `가상화`를 정의해보자면 하나의 물리적 컴퓨터 자원을 여러 개의 가상 환경으로 나누어 사용하는 기술이다. 왜 이러한 환경이 등장했을까? 이를 알아보려면 과거로 돌아가야한다. 가상화가 등장한 배경비싼 돈주고 서버를 사서 사용중지만 아래 그림과 같이 CPU 사용률이 현저히 낮은 서버들을 그대로 두게되는 경우가 많았다. 이는 결국에 리소스 낭비와 돈 낭비라는 문제가 발생하게 된다. 그렇다고 아래 그림과 같이 모든 서비스들을 한 서버에 올리게 되면 안정성이 현저히 떨어지는 문제가 발생하게 된다. 따라서, 이러한 문제들을 해결하기 위해 즉, 안정성을 높이며 리소스도 최대한 활용할 수 있는..