[c++] 백준 10816: 숫자 카드 2

다미·2022년 9월 30일
0

백준

목록 보기
11/15
post-thumbnail

10816번: 숫자 카드 2

💡 문제

👀 코드

/**
 * baekjoon - 10816
 * map, sorting
 */

#include <iostream>
#include <map>
#define fio ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
using namespace std;

map<int, int> cardMap;

int main(){
    fio;
    //input
    int n; cin >> n;
    long long card;
    for (int i = 0; i < n; i++){
        cin >> card;
        if (cardMap.find(card) == cardMap.end()){ // not find
            cardMap[card] = 1;
        }
        else cardMap[card]++;
    }
    int m; cin >> m;
    for (int i = 0; i < m; i++){
        cin >> card;
        cout << cardMap[card] << ' ';
    }
    

    return 0;
}

📌 해설

  1. Map을 이용해 가지고 있는 카드 정보를 저장한다.
  2. 주어진 카드의 숫자를 Key로 활용해 해당 카드가 몇 개 인지 출력한다.
  1. Map을 이용해 카드 정보를 저장

<map> 헤더파일을 사용하여 map 자료구조를 사용하여 입력값으로 주어지는 카드의 정보를 저장한다. 이 때 map을 map<int, int> cardMap 자료형으로 선언해주는데 key 값은 카드 번호, value 값은 카드의 개수가 된다.

  1. 주어진 카드의 숫자를 key로 활용해 카드 개수 출력

입력받은 카드의 숫자를 cardMap의 key로 넣어서 해당 카드의 개수를 출력한다. 출력하고 난 후, 다음 차례를 위해 ‘ ‘ 공백을 추가적으로 출력해주어야 한다.

0개의 댓글