• Quiz
  • Test Cases
  • Solution
  • Solution 1
  • Solution 2
Arrays 초급

토너먼트 우승자

알고리즘 문제를 가장 빨리 해결하기 위해 프로그래머 팀간에 경쟁하는 토너먼트가 열립니다. 각 팀은 다른 모든 팀과 대결하며, 한 번에 두 팀씩 경기합니다. 각 경기에서는 한 팀이 홈팀으로 지정되고 다른 팀은 원정팀 입니다. 각 경기에서는 항상 하나의 승자와 하나의 패자가 있으며 무승부는 없습니다. 각 팀은 이기면 승점 3점, 패배시 0점을 얻습니다. 토너먼트의 승자는 가장 많은 포인트를 받는 팀입니다.

서로 경기한 한쌍의 팀과 각 경기의 결과가 포함된 배열을 입력받아 우승팀을 반환하는 함수를 작성하세요. 입력되는 배열은 competitionsresults라고 명명됩니다. competitions 배열에는 [홈팀, 원정팀]의 형태로 입력되며, 각 팀의 이름은 최대 30 글자입니다. results 배열에는 competitions 배열의 해당 경기 우승팀에 대한 정보가 포함되어 있습니다. results 배열에서 1은 해당 경기에서 홈팀이 승리하고 0이면 원정팀이 승리했다는 것을 의미합니다.

정확히 한팀이 토너먼트에서 우승 할 것입니다. 또한 토너먼트에는 항상 두팀 이상이 참가합니다.

예제 1

입력

competitions = [
    ["한화 이글스", "NC 다이노스"], 
    ["NC 다이노스", "삼성 라이온즈"], 
    ["삼성 라이온즈", "한화 이글스"]
]
results = [0, 0, 1]

출력

"삼성 라이온즈"
// NC 다이노스가 한화 이글스를 누르고, 
// 삼성 라이온즈가 NC 다이노스를 이기고, 
// 삼성 라이온즈가 한화 이글스를 이겼습니다.
// 한화 이글스 - 0 points 
// NC 다이노스 -  3 points
// 삼성 라이온즈 -  6 points

Test Case 1

Input

competitions = [
    ["한화 이글스", "NC 다이노스"],
    ["NC 다이노스", "삼성 라이온즈"],
    ["삼성 라이온즈", "한화 이글스"]
]
results = [0, 0, 1]

Output

"삼성 라이온즈"

Test Case 2

Input

competitions = [
    ["키움 히어로즈", "KIA 타이거즈"],
    ["NC 다이노스", "삼성 라이온즈"],
    ["두산 베어스", "한화 이글스"],
    ["LG 트윈스", "롯데 자이언츠"],
    ["KT WIZ", "SSG 랜더스"],
    ["한화 이글스", "KIA 타이거즈"],
    ["KT WIZ", "SSG 랜더스"],
    ["LG 트윈스", "키움 히어로즈"],
    ["NC 다이노스", "롯데 자이언츠"],
    ["삼성 라이온즈", "두산 베어스"],
    ["KT WIZ", "두산 베어스"]
]
results = [1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1]

Output

"KT WIZ"

Test Case 3

Input

competitions = [
    ["한화 이글스", "NC 다이노스"]
]
results = [0]

Output

"NC 다이노스"

Test Case 4

Input

competitions = [
    ["한화 이글스", "NC 다이노스"],
    ["한화 이글스", "NC 다이노스"],
    ["한화 이글스", "NC 다이노스"]
]
results = [0, 0, 0]

Output

"NC 다이노스"

Test Case 5

Input

competitions = [
    ["한화 이글스", "NC 다이노스"],
    ["한화 이글스", "NC 다이노스"],
    ["한화 이글스", "NC 다이노스"]
]
results = [0, 0, 1]

Output

"NC 다이노스"
  • My Answer
  • Lecture
  • Output
                                            
W+코딩 알고리즘 강의

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

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

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

코딩테스트 문제해설

Light Mode

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

알고리즘 코드해설

Dark Mode

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