일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- 알고리즘
- 2023년 목표
- 그리디
- dsf
- Pseudo Lab
- data_engineer
- Dynamic Programming
- 프로그래머스
- hackerrank
- airflow architecture
- Spark
- telegram
- 데이터 엔지니어
- leetcode
- Airflow
- MySQL
- 백준 온라인 저지
- datacamp
- airflow webserver
- BOT
- 백준온라인저지
- SQL
- Data Engineering
- docker container
- Python
- terraform
- 빅데이터를 지탱하는 기술
- delete join
- docker image
- Today
- Total
목록Algorithm (31)
Lim Seunghyun Space
문제 출처 https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 해설 노트북 제조 시 A라는 고정 비용이 들고, 노트북 한 대를 생산하는데 B라는 가변 비용이 든다. 노트북 가격이 C라고 했을 때, 몇 대의 노트북을 판매해야 이익이 발생하는지 알아내는 문제이다. # 노트북 판매 수량을 n이라고 하자 C * n > B * n + A # 이것을 계산하면 손익분기점을 계산할 수 있다. # 위의 수식에서 비교 문자를 등호로 바꾸고 n 만 남기고 정리하면 C..
문제 출처 https://leetcode.com/problems/median-of-two-sorted-arrays/ Median of Two Sorted Arrays - 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 문제 이해 정렬된 두 개의 리스트를 합쳐 중간값을 구하기 나의 풀이 (Python3) import statistics class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2:..
문제 출처 https://leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - 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 문제 이해 문자열 s에 대해서 반복이 없는 가장 긴 부분 문자열의 길이를 구하기 나의 풀이 (Python3) class Solution: def lengthOfLongestSubst..
문제 출처 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 문제 요구사항 N개의 도시가 수평으로 존재하는 어떤 나라에서 수평의 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 차를 타고 이동 인접한 두 도시 사이의 도로를 이동할 때 1Km마다 1L의 기름을 사용 최초 출발시에는 기름이 없어서 주유소에서 기름을 넣고 출발 각 도시에는 단 하나의 주유소가 존재하며, 리터당 가격이 도시마다 다를 수 있음 제일 왼쪽 도시에서 제일 오른쪽 도시..
문제 출처 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 해설 사람이 N명이고, 각 사람이 돈을 인출하는 데 걸리는 시간을 주어진다. ATM 기기가 하나밖에 없기 때문에 줄을 잘 배정하여 모든 사람이 돈을 인출하는 게 덜리는 시간의 합이 최소화하도록 하기 이 문제의 경우, 1번이 인출해야 2번이 인출이 가능하고 2번이 인출해야 3번이 인출이 가능하다. 즉, n번째 사람이 인출하려면 n1, n2, .... , n-1번 사람이 모두 인출이 되어야 한다. 이를 수식으로 변..
문제 출처 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 요구사항 N개의 회의에 대하여 회의가 겹치지 않게 사용할 수 있는 회의의 최대 개수 구하기 문제 아이디어 회의의 시작 시간이 빠른 순으로 정렬하여 문제를 해결하려면 아래와 같은 반례가 존재한다. [0, 24], [1, 12], [12, 24] 시작시간이 빠른 순으로 정렬해서 풀이를 한다면 [0, 24]만 선택하지만 [1, 12] [12, 24]을 선택하는 것이 최댓값이다. 회의의 진행 시간을 기준으로 정렬하여 문제를 해결하려면 아래와 같은 반례가 존재한다. [2. 5] [1, 12], [12, 2..
문제 출처 https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 문제 요구사항 N개의 로프를 주어지고 각각의 로프가 버틸 수 있는 최대 중량이 주어질 때, 로프를 이용하여 들어 올릴 수 있는 물체의 최대 중량을 구하기 문제 아이디어 최대 중량을 로프의 갯수 * 로프의 최소 중량 값으로 진행 하지만, 위의 아이디어는 모든 로프를 이용한다는 전제 조건하에 각 로프에 물건의 무게 / 로프의 개수만큼 적용하기 때문에 맞다고 생각되었지만 로프의 최대..
문제 출처 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제 요구사항 설탕 봉지가 3kg, 5kg짜리를 사용하여 정확하게 N킬로그램을 배달해야 한다. 배달을 위해 사용하는 봉지의 최소 갯수를 출력 조건에 제시된 설탕 봉지를 사용하여 정확하게 N킬로그램을 만들 수 없는 경우 -1을 출력 나의 코드 (python3) # source : https://www.acmicpc.net/problem/2839 N = int(input()) answer = 0 wh..
문제 링크 문제 내용 나의 풀이 및 설명 (With Python3) 문제 링크 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 내용 B진법 수 N을 주었을 때, 10진법으로 바꿔 출력하는 프로그램 작성 10진법을 넘어가는 진법에서 숫자로 표시할 수 없는 경우 알바펫 대문자를 사용하여 대체 A : 10, B : 11, C : 12, .... , Y : 34, Z : 35 입력 N, B가 한 줄로 제공 출력 10진법 결과 나의 풀이 및 설명 (..
1. 삽입 정렬 의미 2. 삽입 정렬 개념 3. 삽입 정렬 예시 4. 삽입 정렬 구현 (With Python3) 삽입 정렬 의미 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘 삽입 정렬 개념 삽입 정렬은 정렬하고자 하는 리스트의 크기가 n이라면 n-1번 반복하여 key 값을 기준으로 삽입할 위치를 찾아 반복하는 알고리즘 삽입 정렬의 첫 번째 시작은 두 번째 값이 key가 되어 첫 번째 값과 비교하여 첫 번째 값보다 작은 경우 첫 번째 값은 뒤로 밀리고 key가 첫 번째로 이동한다. 두 번째 바퀴에서는 세 번째 값이 key가 되고 두 번째 값과 비교하여 작은 경우 서로 위치를 교환한다. 이때 key는 두 번째 값이 ..