리뷰
힘을 저장하는 배열 power 과, 최고라고 생각한다/안한다 를 저장하는 iambest 배열을 따로 만들었다.
처음에는 모두 다 '나는 최고'라고 생각하도록 iambest를 1로 초기화 했다.
친분관계를 순회하면서 자신보다 힘쎈 사람인지 power 배열 값으로 비교한다.
힘이 같거나 힘이 약하면 iambest 값을 0 으로 바꾼다.
마지막에 iambest 가 1인 사람만 카운팅 해서 답을 낸다.
코드를 짜고 나니깐 이차원 배열로 해도 상관없을 것 같다는 생각이 들었다.
맞았습니다 코드
#include <bits/stdc++.h>
using namespace std;
int n, m, a, b, answer;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
vector<bool> iambest(n+1, 1);
vector<int> power(n+1, 0);
for(int i = 1; i <= n; i++) cin >> power[i];
while(m--){
cin >> a >> b;
if(power[a] < power[b]){
iambest[a] = 0;
}else if(power[a] > power[b]){
iambest[b] = 0;
}else{
iambest[a] = 0;
iambest[b] = 0;
}
}
// 아직 1인 사람(최고라고 생각) 카운팅
for(int i = 1; i <= n; i++) if (iambest[i] > 0) answer++;
cout << answer;
return 0;
}
제출 기록
728x90
'알고리즘 > Softeer' 카테고리의 다른 글
[소프티어/Softeer] 지도 자동 구축 c++ (0) | 2022.05.20 |
---|---|
[소프티어/Softeer] H-클린알파 c++ (0) | 2022.05.20 |
[소프티어/Softeer] 스마트물류 c++ (0) | 2022.05.19 |
[소프티어/Softeer] 징검다리 c++ (0) | 2022.05.19 |
[소프티어/Softeer] 성적평균 c++ (0) | 2022.05.19 |