일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 웹페이지
- clustering
- 셀레니움
- 괄호 문제
- 플라스크
- 알고리즘
- Python
- colab runtime
- 혁신성장부문
- 코랩 런타임
- Selenium
- plotly dash
- 2164 카드2
- Crawling
- 백준
- flask
- 크롤링
- convert to shp
- python buildpacks
- geopandas
- 해시태그
- 파이썬
- Merge Repositories
- kmeans
- Chat-GPT
- string to list
- geoDataFrame
- 인스타그램
- NLP
- to shp
Archives
- Today
- Total
코딩코딩코딩
백준(BAEKJOON) 1966 프린터큐 본문
입력 형식 :
3 # 테스트 케이스(3번 테스트)
1 0 # 1개의 문서, 출력하고자 하는 문서의 순서는 0번째
5 # 1개 문서의 중요도
4 2 # 4개의 문서, 출력하고자 하는 문서의 순서는 2번째
1 2 3 4 # 4개 문서의 중요도
6 0 # 6개의 문서, 출력하고자 하는 문서의 순서는 0번째
1 1 9 1 1 1 # 6개 문서의 중요도
* 단, 문서의 순서를 나타내는 수는 0부터 시작
처음에는 key-value로 출력하고자 하는 문서의 순서를 기억하고자 했으나, 괜히 다루기 복잡해지는 것 같아서 단순 list in dex로 접근
logic :
input으로 받은 테스트케이스만큼 for문을 통해 문서 개수와 중요도를 입력받음
각 for문 iteration 내에서 items(문서 중요도 리스트), items_idx(문서 출력 인덱스)를 입력
items_idx를 굳이 순서대로 매길 필요없이 모두 0인 list로 만든 후에 items_idx[출력하고자하는 문서 순서] = 1로 두고 진행
이후 문서 리스트 가장 처음 값이 최대값과 같으면 리스트에서 제거하고 cnt를 1 추가.
아닌 경우는 리스트의 가장 마지막으로 보내는 방식으로 해결
numbers = int(input())
for number in range(numbers):
item_num, item_loc = map(int, input().split())
items = list(input().split())
items_idx = [0 for item in items]
items_idx[item_loc] = 1
cnt = 1
while True:
if items[0] == max(items):
if items_idx[0] == 1:
print(cnt)
break
items.pop(0)
items_idx.pop(0)
cnt += 1
else:
items.append(items.pop(0))
items_idx.append(items_idx.pop(0))
'파이썬 > Algorithms' 카테고리의 다른 글
백준(BAEKJOON) 1110 더하기 사이클 - 파이썬(python) (0) | 2021.04.27 |
---|---|
백준(BAEKJOON) 1181 단어정렬 - 파이썬(python) (0) | 2021.04.12 |
백준(BAEKJOON) 2164 카드2 - 파이썬(python) (0) | 2021.04.10 |
백준(BAEKJOON) 9012 괄호 - 파이썬 (0) | 2021.04.10 |
백준(BAEKJOON) 1052 단어의 개수 (0) | 2021.01.15 |
Comments