티스토리 뷰
1. 문제

2. 소스코드
|
def solution(citations): h=len(citations) while h: higher = 0 lower = 0 for c in citations: if c>=h: higher += 1 else: lower += 1 if higher>=h and: return h h-=1
return h |
3. 고찰
1) 알고리즘
n편 중 h편이기 때문에 h의 초기값을 len(citations)로 설정했다. 최대값을 찾는 문제이므로 위에서부터 내려가며 h값을 찾았다.
while loop를 돌면서
h번 이상 인용된 논문 개수는 higher에,
나머지 논문 개수는 lower에 세었다.
higher개수가 h편 이상이면 h를 리턴하였다.
h에 -1 해주었다.
2) 시간복잡도
입력 리스트 citations의 길이를 N이라 할 때,
while문은 N번 돌고
while문안에서 for문이 N번 돌기 때문에
시간복잡도는 O(N^2)이다.
'프로그래밍 > Python' 카테고리의 다른 글
| 프로그래머스 - 완주하지 못한 선수 (0) | 2020.12.03 |
|---|---|
| 프로그래머스_문자열 압축 (0) | 2020.11.04 |
| Quick Sort 파이썬 구현 (0) | 2020.11.02 |
| 프로그래머스_조이스틱 (0) | 2020.11.02 |
| 프로그래머스_월간 코드 챌린지 시즌1_두 개 뽑아서 더하기 (0) | 2020.11.01 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- roslaunch
- vue/cli
- 8자주행
- Publisher
- Ubuntu16.04
- sensehat
- C++
- 원격 통신
- 코드리뷰
- 우분투
- Ubuntu20.04
- 프로그래머스
- 백준알고리즘
- set backspace
- Python
- 리눅스
- ROS
- VirtualBox
- 아두이노 IDE
- VMware
- umount
- 윈도우
- HC-SR04
- Mount
- 초음파센서
- python3
- 포트인식문제
- filesystem
- 윈도우 복구
- subscriber
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함
