Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 에라토스테네스의 체
- 브루트포스
- 슬라이딩 윈도우
- 13164
- JavaScript
- 구현
- 그래프
- Python
- 트리
- 정수론
- 그리디
- 모던 JavaScript 튜토리얼
- 문자열
- SSAFY
- 애드 혹
- 맵
- DP
- 플로이드-워셜
- 정렬
- 누적 합
- 해시 테이블
- 싸피
- boj
- 수학
- 이분 탐색
- 세그먼트 트리
- 투 포인터
- 2357
- BFS
- DFS
Archives
- Today
- Total
목록1461 (1)
흙금이네 블로그

아이디어 책을 모두 제자리에 나두면 다시 0으로 돌아갈 필요가 없으므로 가장 멀리 있는 곳을 마지막에 들르도록 한다. 풀이 계산이 편하도록 책의 위치를 양수와 음수를 구분해 각각 pos와 nag 리스트로 받는다. 절대값 크기 기준으로 두 리스트를 정렬한 후 절대값이 가장 큰 값(빈 리스트인 경우 0)을 결과값에서 미리 뺀다. M개 단위로 리스트에서 값을 꺼내 이중 가장 큰 값의 두 배(왕복 거리)를 결과값에 더해 나간다. pos와 nag 리스트 모두 같은 원리로 처리하므로 코드를 묶어 move 함수를 정의하고 호출하도록 했다. def move(li): global res while li: res += abs(li.pop())*2 for _ in range(M-1): if not li: return li...
알고리즘
2022. 12. 24. 19:06