problem solving (93) 썸네일형 리스트형 [프로그래머스]단체사진 찍기 우선 모든 가능한 경우의 수를 구하기 위해 DFS를 사용했고 store 배열에 모든 경우의 수를 담았다. 그리고 나서 두 개의 큐(fQ, sQ)를 선언해 data 배열의 조건을 하나씩 확인하면서 빈 큐에 푸쉬했다. 반복하는 data의 인덱스마다 저장되어있는 큐에서 빈큐로 (fQ에서 sQ로 또는 sQ에서 fQ로)데이터를 필터링해 이동시킨다. 모든 data의 조건을 검사한 후 남아있는 경우의 수를 answer에 넣어준다. #include #include #include #include #include using namespace std; vector store; string kakaoCharacter; bool check[8]; void DFS(string str) { if(str.length() == 8).. [SWEA]2814. 최장 경로 삽질.... 0 final) { final = count; lastX = x; } for(int idx = 1; idx >T; int N, M; for(test_case = 1; test_case > N >> M; for(int idx = 1; idx y >> x; check[y][x] = true; check[x][y] = true; } lastX = x; final = 1; if(N > 1) { .. [BOJ]1874번: 스택 수열 #include #include #include int stack[1000000]; int main(void) { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int len; std::cin >> len; std::vector val(len); for(int idx = 0; idx > val[idx]; } std::fill(stack, stack + 1000000, 0); int valPos = 0; int seq = 1; int max = 0; std::vector store; while(valPos [LeetCode]#2 Add Two Numbers /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */#include class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode newNode(0); ListNode *returnNode = &newNode; int sum = 0; int curTen = 0; while(l1 || l2 || curTen) { int val1 = l1 != NULL ? l1->val : 0; int val2 = l2 != NULL ? .. [프로그래머스]디스크 컨트롤러 #include #include #include #include using namespace std; int solution(vector jobs) { int answer = 0; sort(jobs.begin(), jobs.end()); int pos = -1; int count = -1, idx = 0; vector store; priority_queue temp; while(++pos [프로그래머스]섬 연결하기 넘 어려웠다./.... #include #include #include #include using namespace std; int solution(int n, vector costs) { int answer = 0; int min = INT_MAX; int y, x; vector check(n); vector map(n, vector(n)); for(int idx = 0; idx [프로그래머스]이중우선순위큐 #include #include #include using namespace std; vector solution(vector operations) { vector answer; priority_queue maxQ; priority_queue minQ; for(int idx = 0; idx [미완]디스크 분할 #include #include #include #include #include #include using namespace std; int solution(vector jobs) { int answer = 0; int pos = -1; int count = 0, idx = 0; vector store; priority_queue temp; while(++pos 이전 1 2 3 4 5 6 ··· 12 다음