100일 DSA 코딩 챌린지의 76일

발행: (2025년 12월 19일 오후 02:48 GMT+9)
2 분 소요
원문: 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
Back to Blog

관련 글

더 보기 »

100일 DSA 코딩 챌린지의 78일차

새로운 도전에 도전합니다: GeeksforGeeks POTD를 매일 풀고 내 솔루션을 공유합니다! 💻🔥 목표: 문제 해결 능력을 갈고닦고, 코딩 실력을 레벨업하며, 배우는 것.

코드 연대기

Advent of Code 2024 Day 25 https://adventofcode.com/2024/day/25 Part 1 한 해를 마무리하는 멋진 방법. 재미있는 도전처럼 보이며, 시도해볼 생각에 신이 난다.

Day 1/30 다시 DSA 챌린지

DSA - DSA에 대한 노트를 복습함. - hashmap과 complement 기법을 사용하여 Two Sum 문제를 해결함. - 각 요소를 저장하고 합을 확인하는 대신, st...