https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
소스코드
def solution(answers):
p_1 = [1,2,3,4,5]
p_2 = [2,1,2,3,2,4,2,5]
p_3 = [3,3,1,1,2,2,4,4,5,5]
correct_1 = 0
correct_2 = 0
correct_3 = 0
for index, value in enumerate(answers):
if value == p_1[index % len(p_1)]:
correct_1 += 1
if value == p_2[index % len(p_2)]:
correct_2 += 1
if value == p_3[index % len(p_3)]:
correct_3 += 1
tmp = [correct_1, correct_2, correct_3]
answer =[]
for index, value in enumerate(tmp):
if value == max(tmp):
answer.append(index+1)
return answer
풀이
풀이는 다음과 같았다. 학생 1 ~ 3 까지 문제를 찍는 방법이 고정되어 있으므로 리스트로 표현하였다. 그리고 answers list를 enumerate를 사용하여 인덱스와 값의 형태로 반환받은 다음 학생들의 찍는 방법이 담겨져 있는 리스트의 값과 비교하였다. 인덱싱을 하는 과정에서 리스트를 순회할 수 있도록 하기 위해 모듈러 연산을 해주었다.
다른 사람의 풀이
다른 사람의 경우에도 나의 아이디어와 동일하였다. 다만 나는 학생 1 ~ 3의 점수를 각각의 변수로 표현하였지만 리스트의 값으로 표현하는 것이 더 깔끔해 보였다.
'Python > 알고리즘' 카테고리의 다른 글
해시 Level 1 완주하지 못한 선수 - python (프로그래머스) (0) | 2023.05.01 |
---|---|
그리디 Level 1 체육복 - python (프로그래머스) (0) | 2023.05.01 |
정렬 Level 1 K번째수 - python (프로그래머스) (0) | 2023.04.30 |
스택/큐 Level 1 같은 숫자는 싫어 - python (프로그래머스) (0) | 2023.04.30 |
해시 Level 1 폰켓몬 - python (프로그레머스) (0) | 2023.04.30 |