일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 빅데이터를 지탱하는 기술
- Pseudo Lab
- docker image
- Data Engineering
- airflow architecture
- terraform
- telegram
- 백준온라인저지
- 2023년 목표
- 프로그래머스
- 데이터 엔지니어
- airflow webserver
- 백준 온라인 저지
- data_engineer
- Spark
- leetcode
- docker
- delete join
- 그리디
- datacamp
- SQL
- dsf
- 알고리즘
- docker container
- BOT
- MySQL
- Airflow
- hackerrank
- Dynamic Programming
- Python
- Today
- Total
목록백준온라인저지 (4)
Lim Seunghyun Space
문제 출처 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..
문제 정의 N에 자신의 연봉 최댓값을 보관 0부터 N까지 스티커를 이용하여 표현 1개의 팩에는 [0]부터 [9]까지 한 장씩 존재 나의 풀이 # 근우의 연봉 최댓값 N = input() S = "1" * (len(N) -1)+ "0" if len(N) == 1: print(1) else: if int(N) > int(S): print(len(N)) else: print(len(N) - 1) 자리 수가 1인 경우는 무조건 1개의 팩을 이용하기 때문에 조건을 두어 처리 1개의 팩으로 생성할 수 있는 최대 숫자 : 10 2개의 팩으로 생성할 수 있는 최대 숫자 : 110 3개의 팩으로 생성할 수 있는 최대 숫자 : 1110 위의 규칙을 이용하여 N의 자리수를 이용하여 S를 생성하고 N과 S간의 비교를 통해 스..
문제 정의 N명의 학생들의 예상 등수와 실제 등수 간의 차이 합이 최소가 되도록 한다. 예상 등수와 실제 등수 간의 차이는 절대값으로 계산한다. 1등부터 N등까지 같은 등수는 없다. 나의 풀이 # source : https://www.acmicpc.net/problem/2012 N = int(input()) ranks = [] answer = 0 for _ in range(N): ranks.append(int(input())) for index, rank in enumerate(sorted(ranks)): answer += abs((index + 1) - rank) print(answer) 예상 등수와 실제 등수 간의 차이가 최소가 되어야 하므로, 예상 등수를 오름 차순으로 정렬하여 예상 등수와 실제 등..
문제 정의 문자열 S는 0, 1 구성되어 있고, 모든 숫자가 전부 같게 만들어야 한다. 뒤집을 때 연속된 숫자인 경우, 뒤집는 횟수는 1회로 한다. 예를 들어, 00010일 시, 앞의 세 자리를 11110으로 뒤집는다면 이는 1회 뒤집는 것으로 간주 뒤집는 최소 횟수를 구하기 나의 풀이 # source : https://www.acmicpc.net/problem/1439 import sys S = sys.stdin.readline().strip() result = [0, 0] for i in [0, 1]: is_continue = False for idx, value in enumerate(S): if value != str(i): if is_continue == False: result[i] += 1 ..