• Quiz
  • Test Cases
  • Solution
  • Solution 1
  • Solution 2
Greedy Algorithms 초급

탠덤자전거

탠덤 자전거는 A와 B의 두 사람이 타는 자전거입니다. 두 사람 모두 자전거 페달을 밟지만, 페달을 가장 빨리 밟는 사람이 자전거의 속도를 결정합니다. 따라서 A가 5의 속도로 페달을 밟고, B가 4의 속도로 페달을 밟으면, 탠덤 자전거는 5(즉, 탠덤스피드 = MAX(speedA, speedB))의 속도로 움직입니다.

빨간색 셔츠를 입은 라이더의 속도와 파란색 셔츠를 입은 라이더의 속도가 포함된 두개의 정수 목록이 제공됩니다. 각 라이더는 하나의 양의 정수로 표현되며, 이는 탠덤 자전거를 페달링하는 속도입니다. 두 목록 모두 길이가 같기 때문에 파란색 셔츠 라이더만큼 많은 빨간 셔츠 라이더가 있습니다. 우리의 목표는 빨간 셔츠를 입은 모든 라이더와 파란색 셔츠를 입은 라이더를 페어링하여 탠덤 자전거를 최대 속도로 운영하는 것입니다.

입력 매개 변수에 따라 타게 되는 모든 탠덤 자전거의 최대가능 총속도를 반환하는 함수를 작성합니다.

"총속도"는 모든 탠덤 자전거의 속도의 합으로 정의됩니다. 예를 들어, 1, 3, 4, 5의 속도를 가진 4 명의 라이더(레드셔츠 라이더 2명 및 블루셔츠 라이더 2명)가 있고 [1, 4], [5, 3]으로 짝을 이루는 경우, 탠덤 자전거의 총 속도는 4 + 5 = 9입니다.

예제 1

입력

redShirts = [5, 5, 3, 9, 2]
blueShirts = [3, 6, 7, 2, 1] 

출력

32

Test Case 1

Input

redShirts = [5, 5, 3, 9, 2]
blueShirts = [3, 6, 7, 2, 1]

Output

32

Test Case 2

Input

redShirts = [5, 5, 5, 5, 5]
blueShirts = [3, 3, 3, 3, 3]

Output

25

Test Case 3

Input

redShirts = [1]
blueShirts = [1]

Output

1

Test Case 4

Input

redShirts = [1, 2, 3]
blueShirts = [3, 2, 1]

Output

8

Test Case 5

Input

redShirts = []
blueShirts = []

Output

0
  • My Answer
  • Lecture
  • Output
                                            
W+코딩 알고리즘 강의

프로그래밍을 이해하는데 꼭 필요한 알고리즘을 쉽고 빠르게 배울 수 있도록 준비한 강의 입니다.

코딩테스트를 준비하시는 분, 알고리즘에 대해서 전반적으로 공부하고자 하는 분들을 위해 꼭 필요한 토픽을 모아서 기초부터 고급 문제까지 단계적으로 구성되어 있습니다.

프로그래밍 언어는 JavaScript · Java · Python · C++ · C# 을 이용하여 브라우저에서 직접 프로그램을 작성 및 실행할 수 있으며, 알고리즘 강의를 통해 주어진 문제를 응용하여 다양한 솔루션을 작성하고 온라인에서 바로 테스트하면서, 알고리즘에 대해 좀 더 깊은 이해를 도와 드립니다.

코딩테스트 문제해설

Light Mode

온라인으로 코딩문제 풀면서 학습하는 사이트를 찾고 계신가요? W+코딩에서는 코딩공부 하면서 헷갈리는 부분을 알기 쉽고 정확하게 알려드립니다.

알고리즘 코드해설

Dark Mode

바이너리트리, 링드리스트, 그래프, 다이나믹 프로그래밍, 그리디 등등등... JavaScript, Java, Python, C++, C# 솔루션을 정확하고 알기 쉽게 설명해 드립니다.