https://www.acmicpc.net/problem/1268
1268번: 임시 반장 정하기
오민식 선생님은 올해 형택초등학교 6학년 1반 담임을 맡게 되었다. 오민식 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다.
www.acmicpc.net
[난이도] Bronze1
[유형] 구현
[풀이]
각 학생의 반 정보를 a[1001][5] 배열에 저장한 뒤,
0~4 학년 순서로 순회하면서
이중 for문을 이용해 각 학생과 같은 반이었던 학생을 set에 저장을 해줍니다.
set을 이용하는 이유는 a,b가 1학년때 같은 반이었는데 3학년때 또 같은반이 된다고
a와 같은 반이었던 학생이 추가되는 것이 아니기 때문입니다.
#include <cstdio>
#include <set>
#include <vector>
using namespace std;
int N,a[1001][5],mi,mv;
set<int> same[1001];
int main(){
scanf("%d",&N);
for(int i=0;i<N;i++){
for(int j=0;j<5;j++){
int p;
scanf("%d",&p);
a[i][j]=p;
}
}
for(int i=0;i<5;i++){
for(int j=0;j<N;j++){
for(int k=0;k<N;k++){
if(j!=k&&a[j][i]==a[k][i]) same[j].insert(k);
}
}
}
for(int i=0;i<N;i++){
if(same[i].size()>mv){
mv=same[i].size();
mi=i;
}
}
printf("%d",mi+1);
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Bronze1/1268.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Bronze4] 10162 : 전자레인지 (C++) (0) | 2022.08.21 |
---|---|
[BOJ/백준][Silver3] 6986 : 절사평균 (C++) (0) | 2022.08.21 |
[BOJ/백준][Silver1] 2302 : 극장 좌석 (C++) (0) | 2022.07.21 |
[BOJ/백준][Silver2] 2304 : 창고 다각형 (C++) (0) | 2022.07.21 |
[BOJ/백준][Silver5] 2303 : 숫자 게임 (C++) (0) | 2022.07.21 |