- 방향을 규칙적으로 정함
def solution(n, lost, reserve):
# 왼, 오 둘다 or 왼쪽에만 lost학생이 있는 경우 = 왼쪽에 옷 줌
# 오른쪽에만 lost학생이 있는 경우 = 오른쪽에 옷 줌
# 양쪽에 있는 경우 제거
_reserve = set(reserve) - set(lost)
_lost = set(lost) - set(reserve)
for r in _reserve:
#체육복 필요한 학생 없으면 끝
if not lost:
break
if r-1 in _lost:
_lost.remove(r-1)
elif r+1 in _lost:
_lost.remove(r+1)
return n - len(_lost)'개발 > Algorithm' 카테고리의 다른 글
| [프로그래머스/42626/level2/고득점kit] 더 맵게 - Heap 정렬 / 우선순위 큐 / 최소 힙 (0) | 2023.08.30 |
|---|---|
| [프로그래머스/42861/level3/고득점kit] 섬 연결하기 - 최소신장트리, 크루스칼 Kruskal 알고리즘 (0) | 2023.08.22 |
| [프로그래머스/42885/level2/고득점kit] 구명보트 - 그리디, 두 포인터 사용 (0) | 2023.08.14 |
| [프로그래머스/42860/level2/고득점kit] 조이스틱 - 그리디 (0) | 2023.08.12 |
| [프로그래머스/84512/level2/고득점kit] 모음사전 - 완전탐색, 중복순열 product (0) | 2023.08.10 |