본문 바로가기
Algorithm/BackJoon

10815번: 숫자 카드

by 꼬부기가우는소리 2023. 6. 28.
728x90

 

- 문제 사이트: https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

 

상근이가 가지고 있는 숫자 카드 N개 중에서 입력 되는 M개의 숫자 카드와 일치하는 카드가 있는지 비교하여 결과를 출력해주는 문제이다.

 

key 값을 기준으로 자동 정렬을 해주는 map을 이용하여 문제를 풀어주었다.

 

1) N개의 숫자 카드 map으로 저장

2) 입력된 M 만큼 for 문 수행

3) 저장된 map에서 입력 받는 값과 일치하는 숫자 카드가 있으면 1, 없으면 0 출력

 

#include <iostream>
#include <map>
#include <algorithm>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    
    int N, M, card;
    
    cin >> N;    
    map<int, bool> cardList;
    for (int i = 0; i < N; i++)
    {
        cin >> card;
        cardList[card] = true;
    }

    cin >> M;
    for (int i = 0; i < M; i++)
    {
        cin >> card;
        cout << (cardList[card] == true ? 1 : 0) << " ";
    }
    cout << "\n";
    return 0;
}

- 메모리: 36608 KB

- 시간: 548 ms

- 코드 길이: 518 B

'Algorithm > BackJoon' 카테고리의 다른 글

10817번: 세 수  (0) 2023.07.04
24900번: 한별 찍기  (0) 2023.07.04
11721번: 열 개씩 끊어 출력하기  (0) 2023.06.27
2525번: 오븐 시계  (0) 2023.06.25
11382: 꼬마 정민  (0) 2023.06.25

댓글