[Algorithm🧬] 模擬試験
質問する / 答えを出す。py
import math
def solution(answers):
answer = []
# 이렇게 하고 싶지 않아서 여러 방법을 생각해봤으나.. 생각이 나지 않아서 이렇게 했다.
first = [1, 2, 3, 4, 5]
second = [2, 1, 2, 3, 2, 4, 2, 5]
third = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
# answers 길이보다 길게 만들어줘야 비교가 가능하니까 그렇게 만들어줌. 위의 코드와 한번에 썼어도 괜찮았을듯.
# 이것 대신 밑의 for문에서 각각을 i % len(first) 이렇게 해주는 것이 더 좋았을듯.
first = first * math.ceil(len(answers) / len(first))
second = second * math.ceil(len(answers) / len(second))
third= third * math.ceil(len(answers) / len(third))
count = [0] * 3
# 정답 개수 올리기.
for i in range(len(answers)):
if answers[i] == first[i]:
count[0] += 1
if answers[i] == second[i]:
count[1] += 1
if answers[i] == third[i]:
count[2] += 1
# 제일 큰 점수 찾고
maxCount = max(count[0], count[1], count[2])
# 그 점수와 같으면 배열에 추가
for i in range(3):
if count[i] == maxCount:
answer.append(i+1)
return answer
何も思い出せない~ということでこのまま解けてしまいました…同じ質問で、人数入力を受けて解けるようになったら…非効率なコードかもしれません.スペースの複雑さもあまりよくありません...Reference
この問題について([Algorithm🧬] 模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@ddosang/Algorithm-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol