본문 바로가기

Set

(7)
[SWEA] 2948번 문자열 교집합 (C++) #include #include using namespace std; unordered_set s; int main(int argc, char** argv) { ios::sync_with_stdio(false); cin.tie(NULL); int test_case; int T; cin>>T; for(test_case = 1; test_case > n >> m; int size = n + m; for(int i = 0; i > str; s.insert(str); } cout
[BOJ] 21939번 문제 추천 시스템 Version 1 (C++) https://www.acmicpc.net/problem/21939 21939번: 문제 추천 시스템 Version 1 tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령 www.acmicpc.net #include #include #include using namespace std; int a, b; set s; map m; int main() { cin >> a; for (int i = 0; i > p >> l; s.insert({ l, p }); m[p] = l; } cin >> b; for (int i = 0..
[Kotlin] 컬렉션(2) Set과 Map https://winterflower.tistory.com/399 [Kotlin] 컬렉션(1) 리스트 리스트는 데이터를 모아 관리하는 컬렉션 클래스를 상속받는 서브 클래스 중 가장 단순한 형태로, 여러 개의 데이터를 원하는 순서로 넣어 관리하는 형태이다. 리스트에는 두 가지가 있다. List : winterflower.tistory.com 컬렉션 1탄에서는 컬렉션 중 List에 대해 알아보았다. 이번 게시물에서는 나머지 컬렉션인 Set과 Map을 알아보자. Set : 리스트와 달리, 순서가 정렬되지 않으며 중복이 허용되지 않는 컬렉션 인덱스로 위치를 지정하여 객체를 참조할 수는 없으며 contains로 객체가 set 안에 존재하는지를 확인하는 식으로만 확인한다. sampleSet.contains(”디모”..
[BOJ] 1235번 학생 번호 (C++) https://www.acmicpc.net/problem/1235 1235번: 학생 번호 첫째 줄에는 학생의 수 N(2≤N≤1,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 학생의 학생 번호가 순서대로 주어진다. 모든 학생들의 학생 번호는 서로 다르지만 그 길이는 모두 같으며, 0부 www.acmicpc.net #include #include #include using namespace std; int main() { int n; cin >> n; string s[1000]; for(int i = 0; i > s[i]; } int ans = s[0].size(); for(int i = 0; i < s[0].size(); i++){ set st; for(int j = ..
[Python] 집합 집합 - 중괄호 { }로 감싸서 표현 - set() 함수를 사용 s1 = set([1, 2, 3]) s2 = set({1, 2, 3}) s3 = {1, 2, 3} - set()의 괄호 안에 리스트를 입력하여 만들거나 문자열을 입력하여 만들 수도 있음 s4 = set("Hello") - 비어 있는 집합 자료형 생성 s = set() 집합 자료형의 특징 ① 중복을 허용하지 않는다. s4 = set("Hello") # s4 = {'e', 'H', 'l', 'o'} ② 순서가 없다. → 인덱싱으로 값을 얻을 수 없다. set에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환 후 인덱싱 s1 = set([1, 2, 3]) l1 = list(s1) # l1 = [1, 2, 3] l1[0] # 1 교집합 구하..
[BOJ] 11723번 집합 (C++) https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int m; cin >> m; set s; set tmp; for(int i = 1; i > str; if(str == "add"){ cin >> k; s.insert(k); } else if(str == "remove"){ cin >> k; s...
[C++] STL - 연관 컨테이너(associate container) [set, multiset, map, multimap] 연관 컨테이너(associate container) 연관 컨테이너는 key와 value를 통해 관계있는 값을 묶어서 저장하는 컨테이너이다. 따라서 key와 value를 통해 요소에 빠른 접근은 가능하지만 연관 컨테이너는 자체적인 기준을 가지고 요소를 정렬하기 때문에 삽입되는 요소의 위치를 지정할 수 없다. 주로 균형 이진 트리(balanced binary search tree)나 해시 함수(hash function)을 사용해 구현된다. set & multiset set은 key만 가지고 있는 연관 컨테이너이다. 따라서 저장하는 값이 key가 되고 오름차순으로 정렬된 위치에 요소를 삽입하여 검색 속도가 매우 빠르기 때문에 데이터의 존재 유무를 파악하는데 유용하다. 다른 정렬 기준을 사용하고 싶다면 템플릿 ..