본문 바로가기

공부/프로그래머스

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

프로그래머스 문제

<모의고사>

모의고사 문제

1번, 2번, 3번의 수포자가 있는데 각자의 방식으로 찍기를 진행한다. 정답을 순서대로 받아서 가장 많이 맞춘 사람이 누구인지를 배열에 담아서 리턴하는 문제이다. 만약 가장 많이 맞춘 사람이 여럿이라면, 오름차순으로 리턴해준다.

 

모의고사 내 답변1

1) 1번, 2번, 3번의 수포자의 찍기 리스트를 만들어주기

2) 찍는 답변의 수의 맞춰서 리스트 만들기

리스트를 만들어줘야하는데 불필요하게 길어지면 안되니 각 리스트안의 수로 나눠주어서 최소한으로 늘렸다.

3) 정답 비교하기

정답과 찍은게 같은지를 zip을 사용해서 리스트를 받아 그 리스트의 길이를 통해서 누가 더 많이 받았는지를 확인했다.

4) 제일 많이 맞은 사람을 리턴하기

같은 점수를 받았을 때, 모두를 리턴하기 위해서 if문을 사용해주어서 나타나게 해주었다.

 

처음에는 lambda 함수를 사용해서 진행하다가 런타임 에러가 나서 중간에는 if문과 for문을 사용해서 변경해주었다. 결국에는 lambda가 궁금해서 다 풀고나서 위의 답변을 얻었다. if와 for문을 사용한 답변도 올려보고자한다.

모의고사 내 답변2