목록맵 (2)
승코딩당당당
문제[C++] 백준 1620: 나는야 포켓몬 마스터 이다솜 SILVER 4https://www.acmicpc.net/problem/1620 접근 방법이 문제는 포켓몬 이름과 번호를 양방향으로 조회해야 하는 문제다. 즉,이름이 주어지면 → 번호 출력번호가 주어지면 → 이름 출력이 두 가지를 모두 빠르게 처리해야 한다.그래서 자료구조를 두 개로 나누어 사용했다.map→ 이름 → 번호를 저장vector→ 번호 → 이름을 저장입력받을 때 포켓몬을 1번부터 차례대로 저장하면서 아래와 같이 두 자료구조에 동시에 기록한다.dic[str] = i; // 이름 → 번호dic2.push_back(str); // 번호 → 이름 질의를 처리할 때는 입력이 문자열로 들어오므로,첫 글자가 숫자라면 → stoi로 정수 ..
문제[C++] 백준 1764: 듣보잡 SILVER 4https://www.acmicpc.net/problem/1764 접근 방법이 문제는 듣도 못한 사람 N명 + 보도 못한 사람 M명이 주어졌을 때, 두 목록에 모두 속하는 사람(= 듣보잡) 을 찾는 문제다. 즉, 간단히 말하면문자열 집합 A와 집합 B의 교집합을 구한 뒤, 그 결과를 사전 순으로 정렬해서 출력하는 문제. 풀이 아이디어는 이렇게 잡았다.먼저 듣도 못한 사람 N명을 입력받으면서 map who에 이름을 저장한다.이름을 key, 값을 1로 저장 → 존재 여부 체크용다음으로 보도 못한 사람 M명을 입력받으면서who[str] == 1이면 듣도 보도 못한 사람이므로 ret 벡터에 push.ret에 모아둔 이름들을 sort로 사전 순 정렬한 뒤,개수..