본문 바로가기

알고리즘 공부/프로그래머스 > Python3

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

https://programmers.co.kr/learn/courses/30/lessons/42840?language=python3

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

 

[정답]

 

1. 학생1,2,3의 찍는 패턴을 찾고, 그들의 답안과 실제 정답인 answers와 비교하기 위해서 학생1,2,3의 답안의 길이를 맞춰주어야 한다.

2. st1, st2, st3의 찍는 패턴에 answers의 길이를 그 패턴의 길이로 나누고 1을 더한다

( 만약 answers의 길이가 12라면, st1의 길이는 15/ st2의 길이는 16/ st3의 길이는 20이 된다. answers의 길이만큼만 비교해 줄 것이기 때문에 st1,st2,st3의 길이가 answers보다 커도 상관없다. )

3. for문을 돌면서 answers와 학생들의 답안이 일치하는지 비교하고, 만약 일치한다면 cnt배열에 1을 더한다.

( 학생1의 경우 cnt[0]/ 학생2의 경우 cnt[1]/ 학생3의 경우 cnt[2] 에 넣어준다.)

4. cnt 배열의 최대값을 max_score에 넣어준다.

5. max_score과 cnt의 값이 일치한다면, 리스트 answer에 학생의 번호를 넣어준다.

6. answer을 return한다.