100일 DSA 코딩 챌린지의 76일
발행: (2025년 12월 19일 오후 02:48 GMT+9)
2 min read
원문: Dev.to
Source: Dev.to
문제
Bus Conductor – GeeksforGeeks
난이도: 쉬움
정확도: 75.3%
예시
예시 1
- 입력:
chairs = [2, 2, 6, 6],passengers = [1, 3, 2, 6] - 출력:
4 - 설명:
- 첫 번째 승객은 위치 1에서 2로 이동합니다 (1번 이동).
- 두 번째 승객은 위치 3에서 6으로 이동합니다 (3번 이동).
- 세 번째와 네 번째 승객은 이미 의자에 앉아 있어 이동이 필요 없습니다 (각각 0번 이동).
- 총 이동 횟수 = 1 + 3 + 0 + 0 = 4.
예시 2
- 첫 번째 승객을 위치 2에서 1로 이동시키는데 1번 이동합니다.
- 두 번째 승객을 위치 7에서 5로 이동시키는데 2번 이동합니다.
- 세 번째 승객을 위치 4에서 3으로 이동시키는데 1번 이동합니다.
- 총 이동 횟수: 1 + 2 + 1 = 4.
제약 조건
- (1 \le n \le 10^5)
- (1 \le \text{chairs}[i], \text{passengers}[j] \le 10^4)
솔루션
class Solution:
def findMoves(self, chairs, passengers):
chairs.sort()
passengers.sort()
moves = 0
for c, p in zip(chairs, passengers):
moves += abs(c - p)
return moves