알고리즘 문제 42

[프로그래머스] Level2 : 위장 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 코드 #include #include #include using namespace std; int solution(vector clothes) { int answer = 1; map m; for(int i = 0;isecond) + 1; } return answer - 1; } map컨테이너를 사용하여 같은 의상의 종류 수를 세주었다. 최소 한개의 옷은 입기 때문에, 마지막에 answer - 1을 해준다.

[프로그래머스] Level2 : 전화번호 목록 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 코드 #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; sort(phone_book.begin(),phone_book.end()); for(int i = 0;i

[프로그래머스] Level2 : 더 맵게 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 코드 #include #include #include using namespace std; int solution(vector scoville, int K) { int answer = 0; priority_queue pq; for (int i = 0;i < scoville.size(); ++i) pq.push(sco..

[백준] 5639번 : 이진 검색 트리 - C++

문제 www.acmicpc.net/problem/5639 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 코드 Binary Search Tree를 직접 구현하여 풀었다. #include using namespace std; class Node{ public: int value; Node *right; Node *left; Node(){value = 0; right = NULL; left = NULL;} Node(int data){value = data;right = NULL; left = NULL..

[프로그래머스] Level2 : 주식가격 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 코드설명 vector solution(vector prices) { vector answer; stack s; for(int i=0; i

[프로그래머스] Level2 : 다리를 지나는 트럭 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이 programmers.co.kr 코드 int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; int now_weight = 0; int i = 0; queue bridge; while(1) { ++answer; if (!bridge.empty() && answer - bridge.front()..

[프로그래머스] Level2 : 기능개발 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 코드설명 vector solution(vector progresses, vector speeds) { vector answer; queue time; int tmp1; int tmp2; int ans; for(int i = 0 ;i < progresses.size();++i) { int t = 0; while(progresses[i] < 100) { progres..

[프로그래머스] Level2 : 프린터 - C++

문제 programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 코드 int solution(vector priorities, int location) { int answer = 0; priority_queue pri_q; queue que; for(int i = 0;i

[백준] 9012번 : 괄호 - C++

문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()” 는 모두 VPS 가 아닌 문자열이다. 여러분은 입력으로 주어진 괄호 문자열..

반응형