일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스마트포인터
- UE4 커스텀로그
- UML관련
- 약참조
- unorder_map
- 델리게이트
- enumasByue
- 프로그래머스
- C++최적화
- 정렬
- 선택정렬
- 언리얼엔진구조체
- 람다사용정렬
- UELOG
- dataasset
- 알고리즘
- 정렬알고리즘
- C++
- 언리얼가비지컬렉터
- 자료구조
- 크리티컬섹션
- UE_LOG
- stl
- 강참조
- 람다
- 데이터애셋
- map
- BFS
- moreeffectiveC++
- 애셋로드
- Today
- Total
목록Coding Test - cpp/Greedy (18)
기억을 위한 기록들
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 : 우선 오름차이 정렬을 한뒤 좀 헤매긴했다 순차적으로 i +( i+1 ) 식으로 처음에 계산했다가 왜 안되는지 반례를 찾아 본뒤에야 해결 했다. 예를 들어, people = [10, 20, 30, 40, 50, 60, 70, 80, 90] limit = 100 이 같은 경우 처음에 생각 했던 방식으로는 10,20 / 30,40 / 50 / 60 / 70 / 80 / 90 으로하면 답이 7이..
#include #include using namespace std; vector solution(vector answers) { vector answer; int arr1[5] = { 1,2,3,4,5 }; int arr2[8] = { 2,1,2,3,2,4,2,5 }; int arr3[10] = { 3,3,1,1,2,2,4,4,5,5 }; vector result(3, 0); for (int i = 0; i < answers.size(); i++) { if (arr1[i % 5] == answers[i]) { result[0] += 1; } if (arr2[i % 8] == answers[i]) { result[1] += 1; } if (arr3[i % 10] == answers[i]) { result..
www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net #include #include #include using namespace std; int main() { int total = 0; cin >> total; for (int k = 0; k > n; vector t(n); for (int i = 0; i > t[i].first >> t[i].second; }..
www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net #pragma once #include using namespace std; int main() { int a = 300; int b = 60; int c = 10; int t; int cnt[3] = { 0 }; cin >> t; bool bImpossible = false; while (t>0) { if (a
www.acmicpc.net/problem/1449 1449번: 수리공 항승 첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나 www.acmicpc.net #include #include using namespace std; int list[1001]; int main() { int ans = 1; int N, L; cin >> N >> L; for (int i = 0; i > list[i]; sort(list, list + N); int st = list[0]; for (int i = 1; i < N; i++) { if..
www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net #include #include using namespace std; int main() { int num = 0; string n; string temp; bool change = false; cin >> n; for (int i = 0; i
www.acmicpc.net/problem/18238 18238번: ZOAC 2 2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해 www.acmicpc.net #include #include #include using namespace std; int main() { string n; int curCnt = 0; int curCnt2 = 0; int result = 0; char curLocation = 'A'; cin >> n; for (int i = 0; i < n.size(); i++) { curCnt = abs(n[i] - curLocation..
www.acmicpc.net/problem/2810 2810번: 컵홀더 첫째 줄에 좌석의 수 N이 주어진다. (1 ≤ N ≤ 50) 둘째 줄에는 좌석의 정보가 주어진다. www.acmicpc.net #include #include #include using namespace std; int main() { int n; cin >> n; string input; cin >> input; int cnt = 1; //컵홀더 1개 깔고 시작 int i = 0; while(i < input.size()) { if (input[i] == 'S') //싱글 의자 { cnt++; i++; } else { cnt++; i += 2; } } cout
www.acmicpc.net/problem/11047 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 #include using namespace std; int arr[10]; int main() { int n, k; cin >> n >> k; for (int i = 0; i > arr[i]; } int temp = n-1; int high = arr[temp--]; while (k
www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net #include #include using namespace std; int arr[1001]; int time[1001]; int main() { int n; cin >> n; for (int i = 0; i > arr[i]; } sort(arr,arr+n); time[0] = arr[0]; int result = time[0]; for (int i = 1; i
www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net #include #include using namespace std; int main() { string n; string result; cin >> n; if (n.size() == 1 && n[0]=='X'){ cout
www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net #include #include #include using namespace std; int main() { string n; cin >> n; char first = n[0]; int num1 = 0; int num2 = 0; if (first == '0') { num1++; } else { num2++; } int i = 0; while(n[++i]!='\0') { if (n[i-1]!= n[i]) { if..