※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 24085번 문제인 希少な数 (Rare Number)이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/24085
24085번: 希少な数 (Rare Number)
A には 2 が 1 回,4 が 2 回,5 が 1 回,8 が 1 回出現する.2, 4, 5, 8 以外の整数は出現しない.このうち,出現回数が最小である整数は,2, 5, 8 である.したがって,2, 5, 8 のうち最
www.acmicpc.net
배열 arr의 i번째 성분에 "N개의 수중 i가 등장한 횟수"를 저장하자.
이제, arr을 작은 수부터 살펴보면서 기존에 등장한 수보다 더 적은 횟수 등장한 수로 답을 계속 갱신해나가자.
arr을 작은 수부터 살펴보므로, 동일 횟수 등장한 수라면 더 적은 수를 자동으로 답으로 보관하게 된다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int N;
int arr[2001];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
while (N--) {
int x; cin >> x;
arr[x]++;
}
int mx = 1000000007, ans = -1;
for (int i = 1; i < 2001; i++) {
if (0 < arr[i] && arr[i] < mx) {
mx = arr[i], ans = i;
}
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 5212 // C++] 지구 온난화 (0) | 2022.12.13 |
---|---|
[BOJ 11289 // C++] Boolean Postfix (0) | 2022.12.13 |
[BOJ 11291 // C++] Alicia's Afternoon Amble (0) | 2022.12.13 |
[BOJ 26043 // C++] 식당 메뉴 (0) | 2022.12.12 |
[BOJ 26201 // C++] Finding Maximal Non-Trivial Monotones (0) | 2022.12.12 |