Menu
CoddyTech

맵

Coddy의 C++ - 표준 템플릿 라이브러리 코스 레슨. 23개 중 9번째.

Map은 특정 순서에 따라 키 값(key value)과 매핑된 값(mapped value)의 조합으로 형성된 요소를 저장하는 연관 컨테이너입니다.


 

각 요소는 고유한 키 값을 가집니다. 또한, 요소들은 기본적으로 키 값을 기준으로 오름차순으로 저장됩니다. 


그렇다면 C++에서 맵을 어떻게 구현할까요? 먼저, #include <map>를 사용하여 map 헤더 파일을 포함해야 합니다.
C++ 맵을 초기화하는 구문은 다음과 같습니다:

map<key_DataType, value_DataType> map_name ;

위와 같이 문자열(string)을 키(keys)로 하고, 정수(integers)를 대응하는 값(corresponding values)으로 가지는 맵을 선언하려면 다음과 같이 사용합니다: 

map<string, int> myMap;

다음으로, 맵(map)에 요소(키-값 쌍)를 삽입하는 방법을 배워보겠습니다. 맵에 새로운 키-값 쌍을 삽입하는 두 가지 방법이 있습니다.

첫 번째 방법은 등호(=)를 사용하는 것입니다. 

map_name[key] = value;

이것은 'key'라는 키와 함께 'value'라는 값을 맵에 저장합니다.

myMap["apple"] = 3;

cout << myMap["apple"];
Output:
3

다음 방법은 insert() 함수를 사용하는 것입니다. insert 함수는 지정된 키와 값을 사용하여 맵에 새로운 키-값 쌍을 추가합니다.

map_name.insert({key, value});
myMap.insert({"banana", 1});

cout << myMap["banana"];
Output:
1

맵 메서드(Map Methods)

메서드기능
begin()맵의 첫 번째 요소를 가리키는 반복자를 반환합니다.
size()맵에 있는 요소의 개수를 반환합니다.
empty()맵이 비어 있는지(1) 아닌지(0) 여부를 반환합니다.
erase()맵에서 지정된 키 값을 가진 쌍을 제거합니다.
clear()맵에서 모든 요소를 제거합니다.
challenge icon

챌린지

중급

입력으로 5명의 이름과 점수가 주어집니다. 이름과 점수는 번갈아 가며 입력됩니다. 이름이 입력되면, 이어서 해당 이름에 맞는 점수가 입력되는 식입니다. 
10개의 입력이 끝난 후, 점수를 출력할 이름의 개수를 나타내는 숫자가 입력됩니다. 그 다음 줄부터 입력된 이름들의 점수를 각각 새로운 줄에 출력합니다.

 

Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
Jacob
Output
38
50
95

직접 해보기

#include <map>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

C++ - 표준 템플릿 라이브러리의 모든 레슨

직접 연습해 보세요: 온라인 C++ 컴파일러