코딩테스트 34

프로그래머스 문제풀이 - 다리를 지나는 트럭 (큐)

프로그래머스 문제풀이 코딩테스트 연습 > 스택/큐 > 다리를 지나는 트럭 programmers.co.kr/learn/courses/30/lessons/42583 C++ #include #include #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; int weightSum = 0; queue bridge; for (int i = 0; i < bridge_length; i++) bridge.push(0); int i = 0; while(i < truck_weights.size()) { ++answer; weightSum -= bridge.front();..

프로그래머스 문제풀이 - 기능개발 (큐)

프로그래머스 문제풀이 코딩테스트 연습 > 스택/큐 > 기능개발 programmers.co.kr/learn/courses/30/lessons/42586 C++ #include #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; deque days; for (int i = 0; i < progresses.size(); i++) { int day = 0; for (int j = progresses[i]; j < 100; j += speeds[i]) ++day; if (!days.empty() && days.front() < day) { answer.push_back(days..

프로그래머스 문제풀이 - 주식가격 (스택)

프로그래머스 문제풀이 코딩테스트 연습 > 스택/큐 > 주식가격 programmers.co.kr/learn/courses/30/lessons/42584 C++ #include #include #include using namespace std; vector solution(vector prices) { int size = prices.size(); vector answer(size); stack st; int idx = 0; for (auto n : prices) { while (!st.empty() && prices[st.top()] > n) { answer[st.top()] = idx - st.top(); st.pop(); } st.push(idx++); } --idx; while (!st.empty(..

프로그래머스 문제풀이 - 베스트앨범 (해시)

프로그래머스 문제풀이 코딩테스트 연습 > 해시 > 베스트앨범 programmers.co.kr/learn/courses/30/lessons/42579 C++ #include #include #include #include using namespace std; vector solution(vector genres, vector plays) { vector answer; unordered_map songs; unordered_map totalPlay; vector genresVec; for (int i = 0; i < genres.size(); i++) { totalPlay[genres[i]] += plays[i]; songs[genres[i]].push_back(make_pair(i, plays[i])); ..

프로그래머스 문제풀이 - 전화번호 목록 (해시)

프로그래머스 문제풀이 코딩테스트 연습 > 해시 > 전화번호 목록 programmers.co.kr/learn/courses/30/lessons/42577 C++ #include #include using namespace std; bool solution(vector phone_book) { string phone_num, phone_num2; int leng, leng2; for (int i = 0; i < phone_book.size() - 1; i++) { phone_num = phone_book[i]; leng = phone_num.length(); for (int j = i + 1; j < phone_book.size(); j++) { phone_num2 = phone_book[j]; leng2 ..

프로그래머스 문제풀이 - 완주하지 못한 선수 (해시)

프로그래머스 문제풀이 코딩테스트 연습 > 해시 > 완주하지 못한 선수 programmers.co.kr/learn/courses/30/lessons/42576 C++ 코드 #include #include #include using namespace std; string solution(vector participant, vector completion) { map strMap; for (auto name : completion) ++strMap[name]; for (auto name : participant) if (--strMap[name] < 0) return name; }

정올 1183 동전 자판기(下) 문제풀이

정올 문제풀이 1183 : 동전 자판기(下) 문제 철수는 동전 자판기를 자주 이용한다. 그래서 그는 항상 상당히 많은 개수의 동전들을 주머니에 가지고 다니는데, 동전들이 주머니에서 짤랑거리는 것을 듣기 싫어한다. 그래서 철수는 동전자판기에서 무언가 살 때는 되도록 많은 개수의 동전을 사용한다. 철수의 주위에 있는 자판기들은 아주 구형인 모델이어서 지폐를 사용할 수 없고, 또, 정확한 액수만을 넣어야 한다. 이 문제는 철수가 가지고 있는 동전 중 최대 개수의 동전을 이용하여 자판기의 물건을 구입하는 방법을 출력하는 프로그램을 작성하는 것이다. 입력형식 첫줄에는 자판기에서 구입하려는 물건의 값 W가 주어진다. 둘째줄에는 6개의 정수가 주어진다. 각각의 정수는 철수가 가지고 있는 500원짜리, 100원짜리, ..

정올 2499 저울 문제풀이

정올 문제풀이 2499 : 저울 입력받은 숫자들을 더해서 만들 수 없는 최소 숫자를 구하기 제출코드 c++ #include #include using namespace std; int main() { int n; int arr[1000]; scanf("%d", &n); for (int i = 0; i < n; i++) scanf("%d", arr + i); sort(arr, arr + n, less()); int res = 0; for (int i = 0; i < n; i++) { if (res + 1 < arr[i]) break; res += arr[i]; } ++res; printf("%d\n", res); return 0; } 입력 예 7 3 1 6 2 7 30 1 정렬! 1 1 2 3 6 7 30..

반응형