티스토리 뷰
백준 문제 특성상 난이도를 포함해서 정답 비율이 20%대로 현저히 낮다면
시간제한 혹은 메모리 제한에 걸릴 확률이 높다. 이 문제도 그런 부류다.
문제
풀이
원래라면 리스트 안에 받은 배열을 넣고, 정렬하고 하나씩 빼는 간단한 방법을 썼을 것이다.
그런데 이렇게 하면 메모리가 초과된다.
그래서 10,000보다 작거나 같은 자연수라는 힌트를 갖고, 10001개의 0으로 이루어진 배열을 만든다.
10001개인 이유는 리스트의 인덱스로 결과물을 출력해야 하기 때문. 이후에 조작해주는 것 보다 차라리 10001개로 만드는 것이 편리하다.
1은 2개 이런식.
import sys
n = int(sys.stdin.readline())
lists = [0] * 10001
for i in range(n):
lists[int(sys.stdin.readline())] += 1
# 0으로 된 리스트의 인덱스를 입력 받고 해당 숫자가 존재하면 1을 더하는 방식.
#2이면 두 번 출력하도록 아래에서 진행
for i in range(10001):
if lists[i] != 0: # 우선 0이면 해당 숫자가 없는 것 이므로
for j in range(lists[i]): # 있으면 해당 숫자만큼
print(i) # 출력
반응형
'Basic_Studies > 알고리즘 문제풀이' 카테고리의 다른 글
[파이썬] 백준 - 9613: GCD 합 (0) | 2021.02.04 |
---|---|
[파이썬] 백준 - 2609: 최대공약수와 최소공배수 (0) | 2021.02.03 |
[파이썬] 백준 - 11721: 열 개씩 끊어 출력하기 (0) | 2021.02.02 |
[파이썬] 백준 - 10820: 문자열 분석 (0) | 2021.01.30 |
[파이썬] 백준 - 11399: ATM (0) | 2021.01.29 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- react router
- 파이썬 정렬
- nuxt 공식문서
- css 글래스모피즘
- nuxt 공식문서 한글
- 카페음료테스트
- 리액트 스크롤
- css marquee
- 파이썬 크롤링
- vscode venv
- 글래스모피즘 애니메이션 구현
- next.js 리다이렉트
- 리액트 라우터
- bs4 크롤링
- nextjs 파라미터 넘기기
- Til
- NextJS
- 리액트 컴포넌트
- 움직이는 글래스모피즘
- nextjs 스크롤
- dvd 효과
- 글래스모피즘 구현
- getserversideprops redirect
- 파이썬 flask
- 리액트 파라미터 넘기기
- 자바스크립트
- 화이팅
- 백준 10989 파이썬
- 10989 파이썬
- 리액트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함