[프로그래머스] 모의고사
내 코드 def solution(answers): s1, s2, s3 = 0,0,0 n = len(answers) c = n//40+1 a1 = [1,2,3,4,5]*(8*c) a2 = [2,1,2,3,2,4,2,5]*(5*c) a3 = [3,3,1,1,2,2,4,4,5,5]*(4*c) for i in range(n): if answers[i] == a1[i]: s1 += 1 if answers[i] == a2[i]: s2 += 1 if answers[i] == a3[i]: s3 += 1 scores = [s1,s2,s3] m = max(scores) winners = [] for i in range(3): if scores[i] == m: winners.append(i+1) return winners ..
2021. 4. 25.
itertools - cycle
cycle - 순환가능 객체 요소의 반복 생성 zip을 할 때 한 리스트의 elements 수가 다른 것보다 작다고 하면, 1,2,1,2,1,2,1,2,1,2,... 이렇게 다른 리스트의 원소 수에 맞춰 계속 쓰는 것이 아니라 itertools.cycle([1,2]) 이렇게 쓰면 훨씬 간단히 표현할 수 있다. 입력 예시) import itertools lst1 = ["가", "나", "다"] lst2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] for item1, item2 in zip(itertools.cycle(lst1), lst2): print(item1, item2) 결과물) 가 1 나 2 다 3 가 4 나 5 다 6 가 7 나 8 다 9 설명)가나다는 3개 뿐이지만 cycle덕에 가나다..
2020. 4. 17.