500error
[Cos Pro 1급, Python] 1차 8번 : 누가 당선 되나요 본문
반응형
문제
1번부터 N번까지 후보에 대해서 투표를 진행했습니다. 예를 들어 투표 결과가 [1, 5, 4, 3, 2, 5, 2, 5, 5, 4]라면 순서대로 [1번, 5번, 4번, 3번, 2번, 5번, 2번, 5번, 5번, 4번] 후보에 투표했음을 나타냅니다. 이때, 가장 많은 표를 받은 후보의 번호를 구하려고 합니다.
주어진 solution 함수는 후보의 수 N과 투표를 진행한 결과가 담긴 배열 votes와 votes의 길이 votes_len이 매개변수로 주어졌을 때, 가장 많은 표를 받은 후보의 번호를 return 하는 함수입니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
코드
def solution(N, votes):
vote_counter = [0 for i in range(N+1)]
for i in votes:
vote_counter[i] += 1
max_val = max(vote_counter)
answer = []
for idx in range(1, N + 1):
if vote_counter[idx] == max_val:
answer.append(idx)
return answer
N1 = 5
votes1 = [1,5,4,3,2,5,2,5,5,4]
ret1 = solution(N1, votes1)
print("solution 함수의 반환 값은", ret1, "입니다.")
N2 = 4
votes2 = [1, 3, 2, 3, 2]
ret2 = solution(N2, votes2)
print("solution 함수의 반환 값은", ret2, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 1차 10번 : 주식으로 최대 수익을 내세요 (1) | 2024.02.26 |
---|---|
[Cos Pro 1급, Python] 1차 9번 : 계단 게임 (1) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 7번 : 병합 and 정렬 (0) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 6번 : 체스의 나이트 (1) | 2024.02.26 |
[Cos Pro 1급, Python] 1차 5번 : 소용돌이 수 (0) | 2024.02.26 |
Comments