< 문제 >
< 정답 코드 >
< 설명 >
- 정답 answers의 값과 수포자의 정답 list1,2,3을 비교할 것이다.
- 비교 후 맞춘 정답을 카운트하기 위해서 count1,2,3 변수와 이 변수를 임시로 담을 answer_temp를 만든다.
- answers 가 기준이 되도록 answers의 길이만큼 수행하는 반복문
- list1,2,3 그리고 answers는 길이가 다른데, list1,2,3은 반복되므로, lastIndex에 도달했을 때, 0으로 돌아가게 하려면
증가값 i를 각 수포자 정답 리스트의 길이로 나눠주면 가능하다.
- answer_temp에는 3명의 수포자가 맡힌 정답 갯수가 순서대로 들어있다.
- answer_temp의 index는 0~2이고, 문제에서 요구하는 정답은 1, 2, 3 중에서 답변해야하므로 person Index에 + 1을
해준 값이 문제에서 요구하는 n번 수포자를 가리키는 값이 된다.
< 배운 것 >
1) 길이가 다른 배열들이 있을 때 길이가 더 짧은 배열의인덱스 전체를 반복하면서 비교하는 로직을 짤 수 있다.
- 길이가 더 긴 배열의 길이를 반복문의 조건부로 한다.
- 길이가 더 짧은 배열과 비교할 때, 배열의 인덱스는 증감값 i를 짧은 배열의 길이(len)로 나눈 몫이다.
2) for a, b in enumerate(array): 형태에서 a는 인덱스, b는 a 인덱스에 해당하는 값인 걸 안다.
'Algorithm > 탐색' 카테고리의 다른 글
[파이썬] "폰켓몬" - set 함수 활용 (0) | 2021.05.07 |
---|---|
[파이썬] "음양 더하기" - 두 배열의 매핑 (0) | 2021.05.06 |
최대값, 최소값 구하기( 파이썬, 코틀린 ) (0) | 2021.05.01 |