728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42840
문제 풀이
완전 탐색 문제이다.
수포자들의 패턴을 cases에, 각 수포자의 정답 수를 담는 score에 담아주었다.
모든 경우를 확인해야 하므로 반복문으로 쭉 돌려주었다.
만약 수포자 패턴을 벗어나려고할 때 idx를 0으로 돌려주어 다시 처음부터 확인하도록 하였다.
가장 많이 맞은 사람 값만 추가하면되고 오름차순 출력은 수포자가 순서대로 있어서 그대로 추가해주면 된다!
느낀 점
idx를 0으로 바꿔주는 것보다 모둘려 연산을 사용하는 게 더 깔끔했을 것 같다.
자주 쓰는 것 같으면서 자주 안 쓰는 것 같다 ㅎㅎ.ㅎ.ㅎ.ㅎㅎㅎ
코드
def solution(answers):
answer, score = [], []
cases = [
[1, 2, 3, 4, 5],
[2, 1, 2, 3, 2, 4, 2, 5],
[3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
]
for case in cases:
cnt, idx = 0, 0
for i in range(len(answers)):
if answers[i] == case[idx]: cnt+=1
if idx == len(case)-1 : idx = 0
else: idx += 1
score.append(cnt)
for i in range(3):
if score[i] == max(score):
answer.append(i+1)
return answer
'문제 풀이 > 프로그래머스 (Programmers)' 카테고리의 다른 글
[Python] 프로그래머스 : 다단계 칫솔 판매 (0) | 2022.09.29 |
---|---|
[Python] 프로그래머스 : 두 개 뽑아서 더하기 (2) | 2022.07.06 |
[Python] 프로그래머스 : 예산 (0) | 2022.07.05 |
[Python] 프로그래머스 : [1차] 다트 게임 (0) | 2022.07.05 |
[Python] 프로그래머스 : [1차] 비밀지도 (0) | 2022.07.05 |
댓글