인프런 커뮤니티 질문&답변
5-D 질문드립니다 :)
해결된 질문
작성
·
108
0
안녕하세요 선생님 🙂
별거 아닌 문제지만 조금 더 늘여서 한번 풀어봤는데요, 출력값도 맞고 디버깅을 해봐도 문제가 없는데 이 풀이가 왜 틀렸다고 하는지 잘 모르겠습니다. 한번 봐주시면 감사하겠습니다 :)
답변 1
0
큰돌
지식공유자
안녕하세요 유태님 ㅎㅎ
정말 잘 짜셨네요. ㅎㅎ 다면 result부분에서 실수가 있으신것 같습니다.
해당 코드 참고해주세요. ㅎㅎ 다듬어봤습니다.
#include <bits/stdc++.h>
using namespace std;
int N;
int first, second;
int result = 0;
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	cin >> N;
	vector<pair<int, int>> vec(N);
	for (int i = 0; i < N; i++)
	{
		cin >> vec[i].first >> vec[i].second;
	}
	sort(vec.begin(), vec.end());
	first = vec[0].first;
	second = vec[0].second;
	result = first + second;
	for (int i = 1; i < N; i++)
	{
		if (first + second > vec[i].first)
			vec[i].first = first + second;
		first = vec[i].first;
		second = vec[i].second;
		result = max(result, first + second);
	}
	cout << result << '\n';
	return 0;
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.





