일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- mariadb
- Java
- 알고리즘
- API
- Framework
- ubuntu
- Judge
- MongoDB
- Tornado
- 연동
- 자료형
- 자바스크립트
- spring
- r
- 토네이도
- 프레임워크
- 연결
- 설치
- 저지
- AWS
- online
- Python
- 오픈한글
- 배열
- 백준
- OrientDB
- 이클립스
- 파이썬
- r script
- BAEKJOON
Archives
- Today
- Total
맛동산
(파이썬)백준 알고리즘 1021번 회전하는 큐 본문
백준 알고리즘 저지 1021번 문제 (https://www.acmicpc.net/problem/1021)
처음에는 모듈로 연산을 이용해 환형 큐 형식으로 구현하려고 했지만 뜻대로 잘 되지 않았음
좌측, 우측 회전을 비교한 최단거리를 rPointer라는 변수에 담에서 그곳을 기준으로 다시 리스트를 재조합하는 방식으로 구현했음
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950·¬D·=·[]··#¬mList·=·[]¬pointer·=·0¬count·=·0¬¬N,·M·=·map(int,·input().split())¬for·i·in·range(1,·N·+·1):¬····D.append(i)¬for·j·in·map(int,·input().split()):¬····mList.append(j)¬#pointer·=·mList[0]·-·1¬¬a=[]¬def·dial(num,·p):#5·0¬····right·=·0¬····left·=·0¬····#print('point')¬····#print(p)¬····while·True:¬········if·D[p]·==·num:¬············left·=·len(D)·-·right¬············#print('left=%d·right=%d'%(left,right))¬············#del·(D[p·%·len(D)])¬············break¬········else:¬············right·+=·1¬············p·+=·1¬············#print(p)¬¬····if·right·<·left:¬········if·len(D)·==·0:·return·0,·right¬········#if·p>len(D)+1:return·p-(len(D)+1),·right¬········return·p,·right¬····else:¬········if·len(D)·==·0:·return·0,·left¬········#if·p·>·len(D)·+·1:·return·p·-·(len(D)·+·1),·left¬········return·p·,·left¬¬for·i·in·mList:¬····pointer=0¬····rPointer,·rCount·=·dial(i,·pointer)¬····temp=D[rPointer+1:]¬····temp+=D[:rPointer]¬····D=temp¬····#print('리턴값은·%d·%d'%(rPointer,rCount))¬····#pointer·=·rPointer¬····count·+=·rCount¬print(count)¬¶
(이게 2달전 쯤 했던건데 지금보니 무의미한 변수가 있기도 함)
나도 길을 헤메일 누군가를 위해 코드를 공유하지만 이 글을 보고 있다면 문제 해결방법을 충분히 고민한 뒤에 찾아보는 것이길 바람
(추가적으로 알고리즘은 현답은 있지만 정답이 없는 문제라고 생각함.. 더 나은 풀이법이 있다면 다같이 공유할 수 있었으면 좋겠음!)
'파이썬 > 알고리즘' 카테고리의 다른 글
(파이썬)백준 알고리즘 1149번 RGB거리 (0) | 2017.05.25 |
---|---|
(파이썬)백준 알고리즘 1065번 한수 (0) | 2016.12.19 |
(파이썬)백준 알고리즘 1008번 A/B (0) | 2016.12.19 |
(파이썬)백준 알고리즘 1003번 피보나치 함수 (0) | 2016.12.19 |
(파이썬)백준 알고리즘 1001번 A-B (0) | 2016.12.19 |
Comments