[프로그래머스] 모의고사

cheeeese·2022년 2월 3일
0

코딩테스트 연습

목록 보기
40/151
post-thumbnail

📖 문제

https://programmers.co.kr/learn/courses/30/lessons/42840

💻 코드

잘 모르겠어서 다른 사람 코드 참고

def solution(answers):
    answer = []
    
    a1=[1,2,3,4,5]
    a2=[2,1,2,3,2,4,2,5]
    a3=[3,3,1,1,2,2,4,4,5,5]
    
    c1, c2, c3=0,0,0
    
    tmp=[]
    
    for i in range(len(answers)):
        if answers[i]==a1[i%len(a1)]:
            c1+=1
        if answers[i]==a2[i%len(a2)]:
            c2+=1
        if answers[i]==a3[i%len(a3)]:
            c3+=1
            
    tmp=[c1, c2, c3]
    
    for p, score in enumerate(tmp):
        if score==max(tmp):
            answer.append(p+1)
    return answer

➕ 풀이

  • a1, a2, a3에 각각 반복되는 답을 저장
  • answers의 길이만큼 반복문을 돌리면서 정답과 맞는지 확인
  • 정답의 개수를 tmp라는 새로운 리스트에 저장해둠
  • 가장 많이 정답을 맞힌 사람 return

enumerate

  • 리스트가 있는 경우 순서와 리스트의 값을 전달하는 기능
data = enumerate([1, 2, 3])
for i, value in data:
    print(i, ":", value)
print()
0 : 1
1 : 2
2 : 3

0개의 댓글