코딩테스트 연습 - 모의고사 | 프로그래머스 (programmers.co.kr)
다행히 두 문제 한시간컷 했다.
def solution(answers):
answer = []
n = len(answers)
ma1 = [1,2,3,4,5] * 10
ma2 = [2,1,2,3,2,4,2,5] * 10
ma3 = [3,3,1,1,2,2,4,4,5,5] * 10
po1 = 0
po2 = 0
po3 = 0
ma1 = [1,2,3,4,5] * (n // 5) + ma1[0:n%5]
ma2 = [2,1,2,3,2,4,2,5] * (n//8) + ma2[0:n%8]
ma3 = [3,3,1,1,2,2,4,4,5,5] * (n//10) + ma3[0:n%10]
for i in range(0, n):
if answers[i] == ma1[i]:
po1 += 1
if answers[i] == ma2[i]:
po2 += 1
if answers[i] == ma3[i]:
po3 += 1
max_point = max(po1, po2, po3)
if po1 == max_point:
answer.append(1)
if po2 == max_point:
answer.append(2)
if po3== max_point:
answer.append(3)
if len(answer) != 1:
answer.sort()
return answer
다른 사람 코드 ~.~
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def solution(answers):
pattern1 = [1,2,3,4,5]
pattern2 = [2,1,2,3,2,4,2,5]
pattern3 = [3,3,1,1,2,2,4,4,5,5]
score = [0, 0, 0]
result = []
for idx, answer in enumerate(answers):
if answer == pattern1[idx%len(pattern1)]:
score[0] += 1
if answer == pattern2[idx%len(pattern2)]:
score[1] += 1
if answer == pattern3[idx%len(pattern3)]:
score[2] += 1
for idx, s in enumerate(score):
if s == max(score):
result.append(idx+1)
return result
'Computer Science > 자료구조' 카테고리의 다른 글
[6.8] 프로그래머스 코딩테스트 연습 - 키패드 누르기(10/100) (0) | 2021.06.08 |
---|---|
[6.8] 프로그래머스 코딩테스트 연습 - 크레인 인형뽑기 게임(9/100) (0) | 2021.06.08 |
[6.7] 프로그래머스 코딩테스트 연습 - 소수 만들기(7/100) (0) | 2021.06.07 |
[6.6] 프로그래머스 코딩테스트 연습 - 소수 만들기 (7/100) (0) | 2021.06.06 |
[6.6] 프로그래머스 코딩테스트 연습 - 폰켓몬 (6/100) (0) | 2021.06.06 |