dbgh9129   2년 전

기타 코딩 컨벤션이나 고쳐야 하는 점도 지적 부탁드립니다!!

flyjb   2년 전

예제 4번이 반례네요.

그리고 40~55 줄이랑 67~68 줄에 min 양수일때랑 음수일때 구분하셨는데,

어짜피 min<=0 일때 -abs(min) = min 이기 때문에 나눌 필요 없어 보입니다.

dbgh9129   2년 전

감사합니다!

아래 같이 고쳤는데, 그래도 틀렸다고 나오네요..

여러 예제를 넣어봤는데 고려하지 못한 사항이 있을까요?

flyjb   2년 전

우선 43번째줄에서 cnt[1]을 확인하는데, 

range=1일 경우에는 (입력 숫자가 1종류) 오류가 날 수 있네요.


그리고 40번째 줄에 std::sort 사용하셨는데,

sort는 second값이 같을 때에 원래 순서를 보장해주지 않아서 (= unstable 하다) 문제가 생기네요.

예를 들어서

3
4000
1
0

를 입력하면, 

sort 함수를 사용한 뒤에 cnt를 보면

 cnt[0].first=1

 cnt[1].first=4000 

 cnt[2].first=0

 ...

처럼 크기 순대로 정렬이 안될 수도 있습니다.

이런 경우에는 std::stable_sort 함수를 쓰시면 해결될겁니다.

dbgh9129   2년 전

정말 감사합니다!

덕분에 해결했어요!^^

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