본문 바로가기

set

(4)
(C++) - 백준(BOJ) 5568번 : 카드놓기 https://www.acmicpc.net/problem/5568 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 순열문제였습니다. 풀이방법 1. 자기자신을 뽑지 않으면서 순서 상관있도록 뽑으면됩니다. 2. 카드를 뽑았으면 카드들을 나열한 뒤 set에 넣어줍니다. 3. set의 size를 출력합니다. Code #include using namespace std; int n,k; vector card; set cardSet; vector tmp; int ck[11]; void dfs(int depth){ if(depth == k){ string c; for(auto t : tmp) c += t; cardS..
(C++) - 프로그래머스(2020 KAKAO BLIND RECRUITMENT) : 기둥과 보 설치 https://programmers.co.kr/learn/courses/30/lessons/60061?language=cpp 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 구현 문제였습니다. 풀이방법 set을 이용해 해결했습니다. ..
(C++) - 백준(BOJ) 2776번 : 암기왕 답 www.acmicpc.net/problem/2776 2776번: 암기왕 연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며, www.acmicpc.net 입출력이 많기 때문에 c의 헤드들과 동기화를 끊어줘야 합니다. 그 후 이분탐색하시면 됩니다. 풀이방법 찾았다면 flag = 1로 만들어주고 찾기 못했다면 flag가 초기값 그대로인 0이므로 이분탐색 시행 후 flag를 return 해주면 됩니다. Code #include #define fastio ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); using namesp..
(C++) - 백준(BOJ) 15663번 : N과 M (9) https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. www.acmicpc.net backtracking 문제였습니다. 풀이방법 1. set을 사용하는 방법 2. 사용하지 않고 level별로 체크하는 배열을 하나 더 두어 중복을 방지하는 방법 Code 1. set사용 #include #include #include #include using namespace std; int n, m; int a[8]; int ck[8]; int tmp[8]; set ans; //중복..