0번부터 n - 1번까지 n명의 학생 중 등수가 높은 3명을 선발해야 한다. 참여불가한 학생은 제외한다.
rank : 학생들의 등수를 담은 정수 배열 (index는 학생 번호를 의미)
attendance : 참석 가능 여부가 담긴 boolean 배열
선발된 3명의 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때, 10,000 x a + 100 x b + c를 반환해야 한다.
제한사항
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/181851
def solution(rank, attendance):
answer = 0
cnt = 0 # 참여가능한 등수 높은 3명을 세기 위한 변수
for i in range(1, len(rank) + 1):
num = rank.index(i) # 학생의 번호를 담기 위한 변수
# 참석 가능한 학생의 번호를 등수대로 맞는 계산 방식을 적용하여 답안을 구한다.
if attendance[num]:
answer += num * 100 ** (2 - cnt)
cnt += 1
if cnt == 3:
break
return answer