1. ์ ๋ ฅ ๊ฐ์ ๋ฒ์
"์ ํ์๋ ์๋ -262๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 262๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค."
์์ ๋ฒ์๊ฐ integer ๋ฒ์๋ณด๋ค ํฌ๊ณ , ์์๋ฅผ ํฌํจํ๊ธฐ ๋๋ฌธ์ <stdint.h> ํค๋ํ์ผ์ ํฌํจํ์ฌ int64_t ์๋ฃํ์ ์ฌ์ฉํ๋ค. ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์์๋ "%d" ๊ฐ ์๋ "%ld"๋ฅผ ์ฌ์ฉํ๋ค.
2. ์์ ๋น๋
์์๋ฅผ ํฌํจํ๊ธฐ ๋๋ฌธ์, ์ธ๋ฑ์ค๋ฅผ ์๋ก ์๊ฐํ๊ณ ๊ฐ์ ์นด์ดํ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
๋ฐ๋ผ์ map์ ์ฌ์ฉํด์ key์๋ ์๋ฅผ, value๋ ์์ ๋ํ ๋น๋๋ฅผ ์ ์ฅํด์ ์ ๋ ฅ์ ๋ฐ์ ๋๋ง๋ค key์ ๋ํ value๋ฅผ ์นด์ดํ ํ๋ค.
์ ์ฅ ํ value ๊ฐ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ์ฐพ์์ max์ ์ ์ฅํ๊ณ , value์ ์ผ์นํ๋ key ๊ฐ์ ๊ตฌํด์ ์ถ๋ ฅํ๋๋ก ํ๋ค.
#include <bits/stdc++.h>
using namespace std;
int main(){
int N;
scanf("%d", &N);
map<int64_t, int> m;
for(int i=0; i<N; i++){
int64_t num; scanf("%ld", &num);
if(m.find(num) == m.end()) m.insert({num, 1});
else m[num]++;
}
int max = 0;
int64_t result;
for(auto iter=m.begin(); iter != m.end(); iter++){
if(iter->second > max) { max = iter->second; result = iter->first; }
}
printf("%ld", result);
}
[๋ฐฑ์ค(BOJ)] 10828๋ฒ: ํ (ํ, C++) (0) | 2021.08.07 |
---|---|
[๋ฐฑ์ค(BOJ)] 10828๋ฒ: ์คํ (์คํ, C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 10989๋ฒ: ์ ์ ๋ ฌํ๊ธฐ 3 (์ ๋ ฌ, C++) (0) | 2021.08.06 |
[๋ฐฑ์ค(BOJ)] 11004๋ฒ: K๋ฒ์งธ ์ (์ ๋ ฌ, C++) (0) | 2021.08.04 |
[๋ฐฑ์ค(BOJ)] 10825๋ฒ: ๊ตญ์์ (์ ๋ ฌ, C++) (0) | 2021.03.10 |