일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구현
- MySQL
- 브루트포스알고리즘
- 백준알고리즘
- 정렬
- 수학
- 정수론
- 소수판정
- 이진탐색
- 이분탐색
- 논문리뷰
- 백준
- Image Classification
- 큐
- 프로그래머스
- C언어
- 해시를사용한집합과맵
- 프로그래머스연습문제
- 자료구조
- C++
- 그리디알고리즘
- 프로그래머스sql
- 다이나믹프로그래밍
- C
- 문자열
- 사칙연산
- 그리디
- SQL
- 논문구현
- 프로그래머스코딩테스트
- Today
- Total
목록그리디알고리즘 (17)
초보 개발자의 이야기, 릿허브

1. 문제이해 https://www.acmicpc.net/problem/15903 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 아기 석환이는 n장의 카드를 가지고 카드 합체 놀이를 하려고 한다. 카드 합체 놀이의 과정은 아래와 같다. 1. x번 카드와 y번 카드를 골라 그 두장에 쓰여진 수를 더한 값을 계산한다. 2. 계산한 값을 x번 카드와 y번 카드 두 장 모두에 덮어쓴다. 카드합체를 총 m번 할 때, n장의 카드에 적혀있는 수를 모두 더한 값이 점수가 된다. 이때,..

1. 문제이해 https://www.acmicpc.net/problem/15729 15729번: 방탈출 첫째 줄에 N(1 ≤ N ≤ 1,000,000)가 주어지고 둘째 줄에는 쪽지에 적혀 있는 N자리의 수가 빈 칸을 사이에 두고 주어진다. www.acmicpc.net 혜민이는 모두 불이 꺼진 상태에서 버튼을 최소로 눌러, 쪽지와 똑같은 상태로 만들려고 한다. 버튼을 누르는 방식은 다음과 같을 때, 눌러야 하는 버튼의 최솟값을 구하는 것이 목표이다. 1. 앞에는 일렬로 놓여진 N개의 버튼이 모두 불이 꺼진 상태로 있다. 2. 0 또는 1로 구성되어 있는 N자리 수가 적힌 쪽지가 있다. 3. 0은 불이 꺼진 버튼, 1은 불이 켜진 버튼을 뜻한다. 4. 불이 켜져 있는 버튼을 누르면 불이 꺼지고, 불이 꺼져 ..

1. 문제이해 https://www.acmicpc.net/problem/1105 1105번: 팔 첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net L보다 크거나 같고, R보다 작거나 같은 자연수들 중 8의 개수가 가장 적은 숫자의 8의 개수를 출력하는 것이 목표이다. 2. 문제풀이 L보다 크거나 같고, R보다 작거나 같은 자연수들 중 8의 개수가 가장 적은 숫자의 8의 개수(min)를 구하는 문제이다. 아래 예제풀이를 통해 자세히 알아보자. 1. 두 수의 자릿수가 틀린 경우 : 무조건 두 수의 중간에 10, 100, 1000 ... 과 같은 숫자가 포함되므..

1. 문제이해 https://www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net 물이 새는 곳의 개수(N)와 위치, 테이프의 길이(L)가 주어진다. 테이프를 이용해서 물이 새는 곳을 막으려고 할 때, 필요한 테이프의 개수를 출력하는 것이 목표이다. 2. 문제풀이 물이 새는 곳을 테이프로 막으려고 할 때, 필요한 테이프의 개수를 구하는 것이 목표이다. 예제 입력 1을 보자. 물이 새는 곳의 개수(N)는 4, 테이프의 길이(L)는 2 물이 새는 곳의..

1. 문제이해 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 주어진 식에 괄호를 적절히 사용하여 식의 값의 최소값을 구하는 것이 목표이다. 단, 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 또한, 연속해서 두 개 이상의 연산자는 나타나지 않는다. 2. 문제풀이 괄호를 적절히 사용하여 식의 값을 최소로 만드는 문제이다. 주어진 식은 모두 숫자와 ‘+’, ‘-’ 로만 이루어져있다. ..

1. 문제이해 https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 사람들의 몸무게를 의미하는 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 리턴하는 것이 목표이다. (단, 구명보트에는 한 번에 최대 2명까지 탈 수 있다.) 2. 문제풀이 사람들의 몸무게와 구명보트의 무게제한이 주어질 때, 사람들을 ..

1. 문제이해 11047번: 동전 0 (acmicpc.net) 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 동전의 개수(N)와, 만들어야하는 가치의 합(K), 그리고 각 동전의 값이 주어진다. 동전들은 매우 많고, 동전들을 가지고 K원을 만들려고 할 때, 필요한 동전의 개수를 출력하는 프로그램을 구현하는 것이 목표이다. 2. 문제풀이 동전들의 개수와 각 동전들의 값을 입력받아 K원을 만들면 된다. 그리고, 이 경우 필요한 동전의 총 개수를 출력..

1. 문제이해 12845번: 모두의 마블 (acmicpc.net) 12845번: 모두의 마블 영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이 www.acmicpc.net 영관이는 N장의 카드들 중 인접한 카드 2장을 골라, 카드를 합성하려고 한다. 카드를 합성할 때마다, 두 카드의 레벨의 합 만큼 골드를 얻고, 업그레이드 된 카드의 레벨을 변하지 않는다. 이때, 영광이가 벌 수 있는 최대 골드는 얼마인지를 출력하는 것이 목표이다. 2. 문제풀이 N장의 카드 중 인접한 카드 2장을 골라 합성해나가며, 합성한 카드의 레벨의 합만큼 골드를 얻는 방식이다. 위의 문제를 제대..

1. 문제이해 20115번: 에너지 드링크 (acmicpc.net) 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 에너지드링크의 수와 각 에너지드링크의 양이 주어진다. 페인이는 에너지 드링크 두개를 골라, 하나의 에너지 드링크를 다른 한쪽에 모두 붓고, 붓는 과정에서 손이 떨려 절반을 흘리게 된다고 한다. 위 과정을 반복할 때, 페인이가 만들 수 있는 에너지 드링크의 최대 양은 얼마인지 구하는 것이 목표이다. 2. 문제풀이 페인이는 에너지 드링크들 중 두개를 골라 하나의 에너지드링크를 다른 한쪽에 모두 붓는다..

1. 문제이해 11399번: ATM (acmicpc.net) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 사람의 수와 각 사람들이 돈을 인출하는데 걸리는 시간이 주어진다. 사람들이 차례대로 줄을 서서 돈을 인출할 때, 각 사람들이 돈을 인출하는데 필요한 시간의 합의 최소값을 구하는 것이 목표이다. 2. 문제풀이 문제가 어디서 많이 본듯이 익숙하다 싶었는데.. 학부 알고리즘때 배웠던 프로세스 스케줄링 알고리즘의 SJF 방식과 비슷했다. SJF 스케줄링이란, 최소작업 우선 스케줄링으로, 각 작업의 프로세서 실행 시간을 이용하여 프로세서가 사..