Iterator3 [C#/Unity][디자인패턴] 반복자 패턴(Iterator Pattern) 1. 반복자 패턴이란? - 일련의 데이터 집합에 대해 순차적인 접근(순회)을 지원하는 패턴. - 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공하는 패턴. - 반복자를 사용하여 컨테이너를 가로지르며 컨테이너의 요소들에 접근하는 디자인 패턴. - 컬렉션의 요소들을 순회하는 패턴. 2. 반복자 패턴을 사용하는 경우 - 해시나 트리구조와 같이 저장순서가 정해지지 않고 적재된 데이터들을 순회하는 방법을 정하는 경우 - 컬렉션에 상관없이 객체 접근 순회 방식을 통일하고자 할 경우 - 컬렉션을 순회하는 다양한 방법을 지원하고 싶은 경우 - 컬렉션의 복잡한 내부 구조를 클라이언트로부터 숨기고 싶은 경우(편의 + 보안) - 데이터 저장 컬렉션 종류가 변경 가능.. 2023. 12. 16. [백준 1764번][C++] 듣보잡 #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { // 쓰레드 환경이 아닐때 버퍼를 분리하여 처리속도를 빠르게 해줌 ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N, M; cin >> N >> M; map list; for (int i = 0; i > name; list[name]++; } int num = 0; // 듣보잡의 갯수 for (int i = 0; i < M; .. 2023. 8. 2. [백준 7785번][C++] 회사에 있는 사람 #include #include #include #include #include #include #include #include #include #include using namespace std; int main() { int n; cin >> n; map entry; for (int i = 0; i > name >> record; if (record == "enter") { // 들어온 경우 entry.insert({ name, true }); } else { // 나간 경우 -> 아예 삭제 entry.erase(name); } } for (map::iterator iter = entry.begin(); iter != entry.en.. 2023. 7. 20. 이전 1 다음