Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 11652- 카드(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/11652
MAP을 사용하면 쉽게 풀 수 있는 문제였습니다.
숫자 카드 중, 가장 많은 카드를 구하는 문제입니다.
카드를 입력 받으면서 map을 통해 해당 카드의 갯수를 증가합니다.
마지막에 map을 통해 for문을 이용하면서 가장 많으면서 작은 수를 구해주면 됐습니다.
자세한 것은 코드를 참고해주세요
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstdio>
#include <string>
#include <deque>
#include <stack>
#include <map>
using namespace std;
int N;
map<long long, int> card;
void solve() {
long long ans, Max = 0;
map<long long, int>::iterator i;
for(i = card.begin(); i != card.end(); i++){
if(i->second > Max) {
ans = i->first;
Max = i->second;
}
else if(i->second == Max){
if(ans > i->first) ans = i->first;
}
}
cout << ans;
}
int main() {
cin.tie(0);
cout.tie(0);
cin >> N;
for(int i = 1; i <= N; i++){
long long x;
cin >> x;
card[x]++;
}
solve();
return 0;
}
질문 및 조언은 댓글을 남겨주세요
'백준' 카테고리의 다른 글
백준 10807 - 개수 세기(C++) (0) | 2023.01.31 |
---|---|
백준 7453 - 합이 0인 네 정수(C++) (0) | 2023.01.28 |
백준 10757 - 큰 수 A+B(C++) (0) | 2023.01.28 |
백준 1759 - 암호 만들기(C++) (0) | 2023.01.28 |
백준 1450 - 냅색 문제(C++) (0) | 2023.01.24 |