2108번 - 통계학
제 풀이 방법은 음수를 담을 범위는 nums의 index 1~4000이고 양수를 담을 범위는 4001~8000으로 하였습니다.
숫자를 넣을 때 마다 합, 최댓값, 최솟값을 갱신하였습니다.
중앙값을 찾기 위해 새 리스트에 num의 빈도 수 만큼 append를 해주었고,
최빈값을 찾기 위해 새 리스트에 max(nums)와 같은 값을 가진 num들을 append해주었습니다. (자동으로 오름차순을 이루게 됨.)
출력에서 최빈값의 길이가 3 이상이면 index 1을 출력하였고, 2 이하라면 index 0을 출력하였습니다.
게시판 반례와 입력 값을 다 넣어봐도 출력 결과는 동일하게 나오고 시간초과 문제는 알고리즘 문제 상 없습니다.
그런데도 틀렸다고 나오는데 어느 부분이 잘못된 것인지 파악 좀 부탁드립니다...ㅜㅜㅜ
예제 3번 결과가 다릅니다.
최빈값이 2개일 때 이상한 것 같습니다.
댓글을 작성하려면 로그인해야 합니다.
dydgks789 1년 전
제 풀이 방법은 음수를 담을 범위는 nums의 index 1~4000이고 양수를 담을 범위는 4001~8000으로 하였습니다.
숫자를 넣을 때 마다 합, 최댓값, 최솟값을 갱신하였습니다.
중앙값을 찾기 위해 새 리스트에 num의 빈도 수 만큼 append를 해주었고,
최빈값을 찾기 위해 새 리스트에 max(nums)와 같은 값을 가진 num들을 append해주었습니다. (자동으로 오름차순을 이루게 됨.)
출력에서 최빈값의 길이가 3 이상이면 index 1을 출력하였고, 2 이하라면 index 0을 출력하였습니다.
게시판 반례와 입력 값을 다 넣어봐도 출력 결과는 동일하게 나오고 시간초과 문제는 알고리즘 문제 상 없습니다.
그런데도 틀렸다고 나오는데 어느 부분이 잘못된 것인지 파악 좀 부탁드립니다...ㅜㅜㅜ