작성
·
250
0
http://boj.kr/55247ead26af4d899a6531ad34efeb6f
저는 21행에 벡터v에 mp.first와 mp.second을 집어넣을때, 서로의 위치를 바꿔서 넣어주지 않고,
이에 맞춰서 bool형의 cmp함수를 작성하였더니
입력값이 2 2 2 1 1 일땐, 출력값이 2 2 2 1 1 로 잘 나오지만
입력값이 2 2 2 1 1 1일땐, 출력값이 1 1 1 2 2 2로 나와서 틀리게 됩니다.
어디가 틀렸는지 모르겠어서 질문 드립니다!
답변 1
1
안녕하세요 1209님ㅎㅎ
다른 거 너무 잘 짜셨는데요.
이런 실수를 하셨습니다.
bool cmp(pair<int, int> a, pair<int, int> b){
if(a.second == b.second) {
return mp_2[a.first] < mp_2[b.first];
}
return a.second > b.second;
}
if문안에 있는 부분이요. 앞의 코드처럼 second를 >> first로 바꾸어야 하는게 아닐까요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.