반응형
Level 1 완전탐색
문제 : https://programmers.co.kr/learn/courses/30/lessons/42840
정답 코드
def solution(answers):
ans = []
giveup1 = [1, 2, 3, 4, 5]
giveup2 = [2, 1, 2, 3, 2, 4, 2, 5]
giveup3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
cnt = [0, 0, 0]
for i in range(len(answers)):
temp = i
temp %= len(giveup1)
if answers[i] == giveup1[temp]:
cnt[0] += 1
temp = i
temp %= len(giveup2)
if answers[i] == giveup2[temp]:
cnt[1] += 1
temp = i
temp %= len(giveup3)
if answers[i] == giveup3[temp]:
cnt[2] += 1
print(cnt)
for i, s in enumerate(cnt):
if s == max(cnt):
ans.append(i + 1)
return ans
좋아요를 가장 많이 받은 코드와 매우 유사해서 따로 정리할 게 없었습니다.
다만 enumerate를 이번에 처음 배워서 사용해봤습니다.
enumerate 는 '열거하다' 라는 의미로 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스를 포함하는
enumerate 객체를 돌려줍니다.
항상 인덱스가 처음에 와야합니다.
for i, alphabet in enumerate(['c', 'b', 'a']):
print(i, alphabet)
#0 c
#1 b
#2 a
for i, alphabet in enumerate(['c', 'b', 'a'], start = 1):
print(i, alphabet)
#1 c
#2 b
#3 a
반응형
'ProblemSolving > Brute force' 카테고리의 다른 글
프로그래머스 카펫 (파이썬) (0) | 2022.05.10 |
---|---|
프로그래머스 소수찾기 (파이썬) (0) | 2022.05.06 |