본문 바로가기
C | C++/Softeer 문제풀이

Softeer 우물 안 개구리 C/C++ 문제풀이 (level 3)

by zyeon 2023. 8. 5.

https://softeer.ai/practice/result.do?eventIdx=1&psProblemId=394&submissionSn=SW_PRBL_SBMS_245378#hold 

 

 

https://softeer.ai/practice/result.do?eventIdx=1&psProblemId=394&submissionSn=SW_PRBL_SBMS_245378#hold

 

softeer.ai

 

 

<cpp 문제풀이>

#include<iostream>
#include<vector>

using namespace std;

int main(int argc, char** argv)
{
	int n, m;
	int count = 0;

	cin >> n >> m;
	vector<int>v(n);
	vector<int>v2(n);//자동으로 0으로 초기화
	for (int i = 0; i < n; i++) {
		cin >> v[i];
	}

	for (int i = 0; i < m; i++) {
		int a, b;
		cin >> a >> b;
		if (v[a - 1] > v[b - 1]) {
			v2[b - 1] = -1;
		}
		else if(v[b-1]>v[a-1])  {
			v2[a - 1] = -1;
		}
		else{
			v2[b - 1] = -1;
			v2[a - 1] = -1;
		}
	}

	for (int i = 0; i < n ; i++) {
		if (v2[i]==0) {
			count++;
		}
	}
	cout << count;
	return 0;
}

 

확실히 정답률이 높은 문제는 난이도가 좀 쉬운것 같아요.

한번이라도 비교했을때 무게가 낮을경우만 -1로 해둬서

항상 이기거나, 친분관계가 없을경우 그대로 0이므로 0일때만 출력해 주었다.

 

처음에 벡터를 따로 초기화를 해야하나 했었는데 따로 지정하지 않으면 0으로 초기화됨을 배웠다!


다른 의견이나 질문 언제나 환영입니다!!

댓글