# ๋ชจ์๊ณ ์ฌ # 42840 # lv1 # Python
# ๋ฌธ์
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์
๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
# ์ ํ์ฌํญ
- ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์ ๋๋ค.
- ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, returnํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
# ํ์ด
def solution(answers):
# <์์ด๋์ด>
# ๋ฌธ์ ์ : n ๊ฐ๋ผ๊ณ ๊ฐ์ .
# 1๋ฒ ์ํฌ์: (1, 2, 3, 4, 5)์ ๋ฐ๋ณต (n / 5 ๋ฒ ๋ฐ๋ณต) > ์ถํ ๋ชซ์ด ์๋ ๋๋จธ์ง๊ฐ๋ค๋งํผ ํฌํจํด์ผ ํจ.
# 2๋ฒ ์ํฌ์: (2, 1, 2, 3, 2, 4, 2, 5) ๋ฐ๋ณต (n / 8๋ฒ ๋ฐ๋ณต)
# 3๋ฒ ์ํฌ์: (3, 3, 1, 1, 2, 2, 4, 4, 5, 5) ๋ฐ๋ณต (n / 10 ๋ฒ ๋ฐ๋ณต)
ans_len = len(answers)
# 1. ์ด ๋ฌธ์ ์๋งํผ ํด๋น ๋ฐ๋ณต๋ฌธ์ ์ด์ด๋ถ์ฌ์ผ ํจ.
# ๋ชซ๋งํผ๋ง ๊ฐ๋ค๋ถ์ด๋ฉด ๋๋จธ์ง ๊ฐ๋ค์ ?? ๋ค์.
# ์ด ๋ฌธ์ ์์ ๊ฐ์์ง ๋๊น์ง ํด๋น ์ํฌ์๊ฐ ๋ฐ๋ณตํ๋ ๋ด๋ถ ์์ ๋ฆฌ์คํธ ํ๋ํ๋๋ฅผ ์
๋ ฅ.
num1 = [1, 2, 3, 4, 5]
num2 = [2, 1, 2, 3, 2, 4, 2, 5]
num3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
num_list1, num_list2, num_list3 = [], [], []
while len(num_list1) != len(answers):
for i in range(len(num1)):
num_list1.append(num1[i])
if len(num_list1) == len(answers):
break
while len(num_list2) != len(answers):
for i in range(len(num2)):
num_list2.append(num2[i])
if len(num_list2) == len(answers):
break
while len(num_list3) != len(answers):
for i in range(len(num3)):
num_list3.append(num3[i])
if len(num_list3) == len(answers):
break
# 2. ๊ฐ ์ํฌ์๋ค์ ์ ๋ต์ ๋ชจ๋ ๋ฐ์์ผ๋ฉด, ํด๋น ์ ๋ต๊ณผ ๋ฌธ์ ์ ์ฐ์ ๋ต์ ๋น๊ตํด์ผ ํจ.
# cn1, cn2, cn3 ๋ฅผ ๋งํ ๋๋ง๋ค ๊ฐ์ += 1 ์ฉ
# ๊ทธ ์ค์์ ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ์ป์ ์ฌ๋์ ์ธ๋ฑ์ค๋ฅผ ๋ฆฌํด(+1 ํด์ผ ํจ. ํ์ด ์ฐธ๊ณ )
cn1, cn2, cn3 = 0, 0, 0
for i in range(len(answers)):
if answers[i] == num_list1[i]:
cn1 += 1
if answers[i] == num_list2[i]:
cn2 += 1
if answers[i] == num_list3[i]:
cn3 += 1
scores = [cn1, cn2, cn3]
max_score = max(scores)
result = [(i + 1) for i, score in enumerate(scores) if score == max_score]
return result