백준 2108 - python3

박우영·2023년 1월 15일
0

백준 단계별

목록 보기
60/85

https://www.acmicpc.net/problem/2108

문제)

입력)

첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다.

출력)

예제 입력1)

5
1
3
8
-2
2

예제 출력1)

2
2
1
10

예제 입력2)

1
4000

예제 출력2)

4000
4000
4000
0

시간 제한: 2초 / 메모리 제한: 256MB

문제 풀이)

이 문제를 풀기 위해서 Counter 함수에 대해 공부해야한다.
https://www.daleseo.com/python-collections-counter/
위 블로그를 참고하였다.
3번째 출력문 빼고는 어려운게 없으니 생략하고

cnt 에 많이사용한 2번째 까지 저장하고 Counter 함수로 저장했기때문에
(-1: 3), (-2: 2) 이렇게 저장 되어있다. 따라서 [0][1] [1][1]로 제일 많은 횟수와 두번째 많은수가 같다면 sort로 오름차순으로 정렬했기때문에 2번째로 작은 값이 출력되는것이다.

0개의 댓글