📚 문제 입력 출력 예제 입력 7 36 3 9 70 15 13 19 20 11예제 출력 3🧑🏻💻 풀이 과정 CTP 회원들의 볼펜의 수를 내림차순 정렬하자. 입력받은 총 회원의 수를 구하자(m * k) 정렬된 볼벤의 수를 반복하며, 빌려줄 펜의 수(pen_sum)보다 총 회원의 수(total_member_sum)가 더 많다면, pen_sum에 볼펜의 수를 더하고 cnt를 1 증가시키자. 반복을 마치고 펜이 부족하면 STRESS, 부족하지 않으면 cnt를 출력하자. def iupc(arr): # 총 회원 수 total_member_sum = m * k # 회원이 빌려줄 수 있는 볼펜의 수 pen_sum = 0 # 볼펜을 빌려줄 회원의 수 cnt = 0 for i in arr: # 빌려줄 펜의 수보다 총 회..
📚 문제 입력 출력 예제 입력 3 7 2 10 0 20 29 31 0 42 41 40 37 20 0예제 출력 134 17744 Too expensive🧑🏻💻 풀이 과정 moeny는 파이썬의 거듭제곱 기호 **를 이용하여 초기화해두자. 가장 적은 금액으로 부지를 구입하기 위해 입력받은 요소를 가장 큰 수부터 내림차순 정렬하자. 그래야 큰 수의 거듭 제곱을 줄일 수 있기 때문. sum을 arr[0]요소로 초기화 하고, arr[1]부터 반복하며 거듭 제곱한 결과를 계속 더하자. sum += (2 * (j ** cnt)) 거듭 제곱의 수를 1 증가시키자 cnt += 1 sum의 결과가 가진 돈 보다 크다면 Too expensive, 적다면 sum을 출력하자. def input_numbers(): numbers..
📚 문제 입력 출력 예제 입력 1 3 1 3 2 6예제 출력 1 16예제 입력 2 4 2 4 2 3 1예제 출력 2 19🧑🏻💻 풀이 과정 입력받은 카드를 y만큼 반복하며, 시작마다 sort로 오름차순 정렬하자. 카드의 0번째와 1번째를 더한 뒤(오름차순 정렬했으니, 가장 작은 값임), 0번째와 1번째에 각각 대입해주자. 반복이 끝나면, 카드의 값을 모두 더하고 출력하자. #include "iostream" #include "vector" #include "algorithm" using namespace std; int x, y; vector v; void inputCards() { for (int i = 0; i > num; v.push_back(num);..
📚 문제 입력 출력 예제 입력 1 10 4200 1 5 10 50 100 500 1000 5000 10000 50000예제 출력 1 6예제 입력 2 10 4790 1 5 10 50 100 500 1000 5000 10000 50000예제 출력 2 12🧑🏻💻 풀이 과정 입력받은 동전을 큰 액수부터 낮은 액수로 내림차순 정렬하자. 반복하면서 큰 액수부터 k를 나눈 값을 cnt에 저장하자. 나머지 연산을 통해 k에서 액수만큼 빼주자. #include "iostream" #include "vector" #include "algorithm" using namespace std; int n, k; vector v; int cnt = 0; int main() { cin >> n >> k; for (int i = 0..
📚 문제 입력 출력 예제 입력 1 XXXXXX예제 출력 1 AAAABB예제 입력 2 XX.XX예제 출력 2 BB.BB예제 입력 3 XXXX....XXX.....XX예제 출력 3 -1예제 입력 4 X예제 출력 4 -1예제 입력 5 XX.XXXXXXXXXX..XXXXXXXX...XXXXXX예제 출력 5 BB.AAAAAAAABB..AAAAAAAA...AAAABB🧑🏻💻 풀이 과정 replace 함수를 이용해서 입력받은 문자 s의 XXXX를 AAAA로 변환하고, XX를 BB로 변환하자. if문을 이용해서 결과에 X가 포함되어 있으면 -1, 모두 변환에 성공했으면 결과를 출력하자. def polyomino(s): replace_s = s.replace("XXXX", "AAAA").replace("XX", "BB"..
📚 문제 입력 출력 예제 입력 1 6 3 2 2예제 출력 1 5예제 입력 2 2 2 1 1예제 출력 2 3🧑🏻💻 풀이 과정 n개의 화분을 k만큼의 수분을 갖도록 초기화 하자. 화분의 수분이 0이 아닐 동안, 반복하면서 a개의 화분에 b씩 물을 주자. 모든 화분의 수분을 1씩 감소시키자. 화분의 수분이 적은 순으로 정렬하자.(그래야 매 반복마다 제일 수분이 적은 a개의 화분에 b씩 수분을 줄 수 있음.) day를 1 증가시키자. def watering(n, k, a, b): arr = [k] * n day = 0 while 0 not in arr: # A개의 화분에 B씩 물주기 for i in range(a): arr[i] += b # 모든 화분의 수분이 1씩 감소 for i in range(len(ar..
📚 문제 입력 출력 입력 예시 3 40 30 30출력 예시 140🧑🏻💻 풀이 과정 입력받은 levels를 내림차순 정렬하자. levels[0]과 levels[1] 중, 큰 값을 max_level에 저장해놓자. (첫 번째 값이 가장 크긴하겠지만..) levels[0]과 levels[1]의 합을 gold에 저장해놓자. 2부터 level의 길이까지 반복하면서, 저장 해놓은 max_level과 현재 레벨의 합을 gold에 더하자. def marble(levels): # levels[0]과 levels[1] 중, 큰 값을 저장해놓자. max_level = max(levels[0:2]) # levels[0]과 levels[1]의 합 저장. gold = sum(levels[0:2]) # 처음 두 레벨을 제외하고, ..
📚 문제 입력 출력 제한 입력 예시 2 21 22 23 24 25 26출력 예시 1🧑🏻💻 풀이 과정 입력받은 energy를 오름차순 정렬하자. 정렬된 리스트의 n번째 요소부터 n+n-1번째까지 요소를 가져 오자. 가져온 리스트의 가장 큰 값에서 가장 작은 값을 빼주자. def calculate_young_energy(energy): # 에너지 오름차순 정렬 후, 중간 값 가져오자. # n = 2면 4까지 -> 2, 3, n = 3이면, 6까지 -> 3,4,5 sorted_energy = sorted(energy)[n:n + n] # 리스트에서 가장 큰 값 - 가장 작은 값 return max(sorted_energy) - min(sorted_energy) n = int(input()) arr = lis..
📚 문제 입력 출력 입력 예시 1 4 2 1 2 2 3출력 예시 1 4 3입력 예시 2 2 1 5 5출력 예시 2 0 0🧑🏻💻 풀이 과정 입력받은 초콜릿 개수를 오름차순 정렬하자. 반복하면서 현재 초콜릿 개수가 이전 초콜릿 개수와 같거나 크고, 가장 작은 초코릿 개수보다 크다는 조건이 만족된다면 현재 초콜릿 개수가 이전 초콜릿 개수와 같아질 때 까지 줄여주자. while문이 끝나면 day를 1 증가시켜주자. def take_away_chocolate(chocolate): day = 0 cnt = 0 min_chocolate_cnt = min(chocolate) for i in range(1, len(chocolate)): # 현재 초콜릿 개수가 이전 초콜릿 개수와 같거나 크고, 가장 작은 초코릿 개수보..
📚 문제 입력 첫째 줄에 레벨의 수 N이 주어진다. (1 ≤ N ≤ 100) 다음 N개 줄에는 각 레벨을 클리어하면 얻는 점수가 첫 번째 레벨부터 마지막 레벨까지 순서대로 주어진다. 점수는 20,000보다 작은 양의 정수이다. 출력 첫째 줄에 점수를 몇 번 감소시키면 되는지 출력한다. 입력 예시 1 3 5 5 5출력 예시 1 3입력 예시 2 4 5 3 7 5출력 예시 2 6🧑🏻💻 풀이 과정 뒤에서부터 시작해서 이전 값이 뒤의 값보다 크거나 같다면 while문으로 반복하며, 이전 값을 1씩 감소시키며, 카운트를 증가하자. 5 5 5 -> 5 4 5 -> 3 4 5 n = int(input()) arr = [int(input()) for _ in range(n)] cnt = 0 for idx in rang..
- Total
- Today
- Yesterday
- 노마드
- Algorithm
- 구현
- 코틀린
- 스프링 부트
- spring boot
- 정렬
- 코테
- 릿코드
- 스프링부트
- Spring
- 스프링
- 데이터베이스
- mysql 8.0
- 북클럽
- 그리디
- leetcode
- 자료구조
- kotlin
- 문자열
- MySQL
- 노마드코더
- 백준
- webflux
- 김영한
- 리팩토링
- Real MySQL
- 인프런
- 파이썬
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |