티스토리 뷰
반응형
문제: www.acmicpc.net/problem/17299
이 문제는 이해를 못한 것이 컸다. 문제 자체는 오등수 문제와 비슷하다는 것은 인지하고 있었는데 문제에 대하여 제대로 이해를 못해서 결국 블로그를 참조하게 되었다.
원리 자체는 오등수와 비슷하다. 오등큰수는 이제 비교 대상이 자신의 값 자체가 아닌 그 값의 갯수라는 것에 대한 차이점이 있을 뿐이다.
결과를 저장할 리스트와 스택 그리고 각 숫자에 대한 갯수를 저장하는 배열이 필요하다.
갯수는 사전형식을 이용하여 갯수를 처리하였다. 그리고 나머지 부분은 오등수와 비슷하다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import sys
num = int(input())
a = list(map(int, input().split(" ")))
result = ["-1" for _ in range(num)]
stack = [0]
count = dict()
for i in a:
try:
count[i] += 1
except:
count[i] = 1
for i in range(num):
while stack and count[a[stack[-1]]] < count[a[i]]:
result[stack[-1]] = str(a[i])
stack.pop()
stack.append(i)
i+=1
print(" ".join(result))
|
cs |
이 코드는 다음 블로그에서 참조하였다.
myphiloprogramming.tistory.com/32
반응형
'알고리즘 > 백준' 카테고리의 다른 글
합분해 2225번 백준 (0) | 2020.12.02 |
---|---|
제곱수의 합 1699번 백준 (0) | 2020.12.02 |
1,2,3 더하기 5 15990번 백준 (0) | 2020.12.02 |
17298번 오큰수 (0) | 2020.12.01 |
10799번 쇠막대기 파이썬 (0) | 2020.12.01 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Java
- 파이썬
- 그래프
- 프로그래머스
- Collections
- PostgreSQL
- Celery
- headers
- dockerignore
- ubuntu
- docker
- Pattern
- postgres
- 자바
- django
- env
- thread
- Spring
- 면접
- Linux
- docker-compose
- DRF
- Python
- 알고리즘
- Command Line
- 백준
- BFS
- 2021 KAKAO BLIND RECRUITMENT
- setattr
- 카카오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함