티스토리 뷰
포스팅에 앞서 내용이 틀릴 수 있습니다.
해당 부분 지적 감사히 받습니다.
문제를 보자.
솔직히 생각했던 거보다, 시간도 오래 걸렸고 고전했던 문제다.
그 흔적이다.
코드부터 보자.
코드
참 길다.
문제가 된 부분은 3번째 문제이다.
빈도수가 겹치면 2번째로 작은 값을 출력해주어야 한다.
이 부분에서 배열의 인덱스 값, 키 접근 방식에 대해 여러 가지 잘못된 시도들을 했다.
결과적으로 코드와 시간이 복잡하고 오래 걸리게 되었다.
해당 부분을 좀 더 간단하게 해결하는 방법은 파이썬 내장함수인 counter 모듈을 사용하는 방법이 있다.
또한 counter를 사용했을 경우 코드 단축도 가능하다.
코드
6줄 줄였다.
위 두 방법으로 모두 문제를 풀 수 있다.
하지만 근소한 차이를 보였는데, Counter를 사용했을 때, 시간과 메모리를 조금 더 사용하는 모습을 볼 수 있다.
해당 방법은 다음 블로그를 참고하였다.
출처 : https://jiwon-coding.tistory.com/8
[백준] 2108번 통계학 파이썬(python)
# 문제 링크 www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.a
jiwon-coding.tistory.com
배운 점
1. from collections import Counter // 를 통해 Counter를 사용할 수 있다.
2. array1 = Counter(array1). most_common() // 로 빈도수를 key = lambda x:(빈도수, 수의 오름차순)과 같은 결과를 반환받아 볼 수 있다.
'백준' 카테고리의 다른 글
백준 4134 문제풀이 [python] (0) | 2023.08.08 |
---|---|
백준 골드 티어 달성 (0) | 2023.08.07 |
백준 20920 문제풀이 [python] (0) | 2023.08.06 |
백준 25192 문제풀이 [python] (0) | 2023.08.05 |
백준 13909 문제풀이 [python] (0) | 2023.08.03 |
- Total
- Today
- Yesterday
- 프로그래머스
- lord of sql
- spring
- samron3
- ys.k
- 프로그래머스 상품을 구매한 회원 비율 구하기
- 프로그래머스 상품을 구매한 회원 비율 구하기 파이썬
- java
- 상품을 구매한 회원 비율 구하기 파이썬
- zixem
- 기술스택
- static
- webhacking.kr
- 백준
- 김영한 실전 자바 중급
- 백준 피보나치 수열
- 백준 피보나치
- extends
- samron
- 스프링
- Los
- 김영한
- los 15단계
- 코딩테스트 준비
- 김영한 실전 자바 기초
- 상속
- 코딩테스트
- 김영한 실전 자바 기본
- 자바
- los 15
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |