목록일상 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/12973# 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr #include #include #include using namespace std; int solution(string s) { stack st; int pos=0; while (pos문자를 넣어주고 스택의 탑과 지금 넣으려는 애가 같으면->스택의 탑을 pop 해준다(짝지어 제거하는 방식) 서로 다르면=>그 문자를 push 해준다 다음 문자로 이..
https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr #include #include #include #include #define MAX 987654321 using namespace std; class Node{ public: int id; int cost; Node(int id, int cost) : id(id), cost(cost) {} }; struct compare{ bool operator()(Node a, Node b){ return a.cost>b.cost; } }; ..
https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr #include #include #include #include using namespace std; struct Job{ int request, time; Job(int request, int time) : request(request), time(time) {} }; struct compare{ bool operator()(Job a, Job b){ r..
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr #include #include using namespace std; int cnt=0; void dfs(vector& numbers, int target, int depth, int limit, int result){ if (depth==limit){ if (result==target){ cnt++; } r..