o3oppp   12일 전

코드랑 로직은 대부분 비슷할것 이라고 생각이 들어 모르는 부분의 코드만 올리겠습니다

처음에는 벡터에 넣을 때 <숫자,등장 횟수> 이렇게 넣어서  sort(v.begin(),v.end(),cmp)를 이용하였는데 틀렸습니다

그래서 <등장횟수,숫자> 이렇게 넣고 sort(v.begin(),v.end()) 이렇게 하니깐 통과되었습니다

궁금한 것은 구현한 cmp 함수가 어디가 틀린지를 모르겠습니다

else를 안써준 이유는 first 즉 처음에 구현하였던 <숫자,등장횟수> 에서 숫자가 같을리는 없고 

또한 등장횟수가 다른 경우가 존재한다면 당연히 숫자가 다르기때문에 if문에서 걸러질것으로 판단이 되어 쓰지않았습니다

cmp에서 어느부분이 틀렸는지를 가르쳐주세요..

seico75   12일 전

말씀하신데로 "  <숫자,등장횟수> 에서 숫자가 같을리는 없고 " 라면

if (a.first != b.first) 는 항상 참이 되는거 아닌가요?

그러면 cmp 는 return a.second < b.second; 가 결과가 될테니

cmp( {1, 2}, {5,2}) 는 false 가 될 것 같습니다.

결국 아래와 같이 cmp 가 되어야 하지 않을까요?

댓글을 작성하려면 로그인해야 합니다.