최빈값이 입력으로 주어진 수들 중에 가장 큰 수면 다른 수가 최빈값으로 출력되요
46번 if문 조건식이 false가 나와야, 즉 arr[i] 와 arr[i-1]이 틀려야 maxstack을 구하는데,
만약 최빈값이 주어진 수 중 최대값이면 더이상 arr에 있는 수가 없어 maxstack을 구할수 없습니다.
이 문제는 50번 줄에 있는 기존에 구한 maxstack보다 stack이 크면 maxstack을 stack으로 만드는 if문을 46번 줄 안에 있는 if문 안으로 옮기시면 해결하실수 있읍니다
아래 반례를 넣으면 정렬된 arr[] = {1, 2, 3, 3, 3}에서 연속된 수가 아니여야 maxstack이 갱신됩니다 stackarr[] = {1, 1, 1, 2, 3}으로 3이 최빈값이란걸 알 수 있지만, maxstack은 1입니다
peterjdw 2년 전
도움을 주십시오..고수님들..