본문 바로가기

코테/Greedy17

[java] 프로그래머스스쿨 연습문제 Lv.2 Greedy 문제 모음 1. 호텔 대실 코딩테스트 연습 - 호텔 대실 | 프로그래머스 스쿨 (programmers.co.kr) 풀이 1. 체크인 시간과 체크아웃 시간을 저장하기 위해 2차원 배열 schedule을 선언한다. 1-1. split과 parseInt를 사용해 순서대로 저장한다. 1-2. 시간*60+분 1-3. 체크아웃 시간을 저장할 때에는 청소시간 10분을 추가로 더한다. 2. schedule을 체크인 시간순으로 정렬하고, 체크인 시간이 같다면 체크아웃 시간으로 정렬한다. 3. 우선순위 큐를 선언하여 schedule의 checkout 시간을 정렬된 순서대로 삽입한다. 4. 만약 우선순위 큐의 첫 번째 원소가 다음 입실 시간보다 작거나 같다면 poll, 퇴실시간을 큐에 추가 5. 그렇지 않다면 큐에 퇴실시간을 add .. 2023. 4. 28.
[C/C++] 백준 13305, Greedy 문제 13305번: 주유소 (acmicpc.net) 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 코드 #include #include using namespace std; int main() { vector dis(100001, 0); long N, temp, price = 1000000000, result = 0; cin >> N; for (int i = 0; i > dis[i]; for (int i = 0; i > temp; if.. 2023. 2. 9.
[C/C++] 백준 1541, Greedy 문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 코드 #include #include #include #include using namespace std; int main() { vector cal; vector num; string input; string temp; cin >> input; cal.push_back(0); for (int i = 0; i < input.size() + 1; i++) { if (i == input.s.. 2023. 2. 9.
[C/C++] 백준 11399, Greedy 문제 11399번: ATM (acmicpc.net) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 코드 #include #include #include using namespace std; int main() { vector time; int N, t, sum = 0; cin >> N; for (int i = 0; i > t; time.push_back(t); } sort(time.begin(), time.end()); for (int i = 0; i < N; i++) sum += time[i] * (N - .. 2023. 2. 9.
[C/C++] 백준 1931, Greedy 문제 1931번: 회의실 배정 (acmicpc.net) 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 코드 #include #include #include using namespace std; int main() { int N, s, e, sum=1; vector schedule; cin >> N; for (int i = 0; i > s >> e; schedule.push_back(make_pair(e, s)); } sort(schedule.begin(), schedule.end()); int i = 0, j = 1; while (j < N) { if (schedule[i].first 2023. 2. 9.
[C/C++] 프로그래머스 스쿨 무지의 먹방라이브, Greedy 문제 코딩테스트 연습 - 무지의 먹방 라이브 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 #include #include using namespace std; int solution(vector food_times, long long k) { int answer=0; vector arr; int check=0; while (check=arr.size()) return -1; else answer=arr[k]+1; return answer; } 풀이 정확성 통과 효율성 탈락 2023. 2. 8.