[ํ๋ก๊ทธ๋๋จธ์ค/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):
answer = []
p1 = [1, 2, 3 ,4, 5]
p2 = [2, 1, 2, 3, 2, 4, 2, 5]
p3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
right = [0,0,0]
for i in range(len(answers)):
if answers[i] == p1[i%len(p1)]:
right[0] += 1
if answers[i] == p2[i%len(p2)]:
right[1] += 1
if answers[i] == p3[i%len(p3)]:
right[2] += 1
m = max(right)
for idx, v in enumerate(right):
if v == m:
answer.append(idx+1)
return answer
โ ์๋ก ๋ค๋ฅธ ์ํ์ฃผ๊ธฐ๋ฅผ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด p1, p2, p3์ ์ธ๋ฑ์ค๋ฅผ i%len(p1), i%len(p2), i%len(p3)๋ก ๋ง์ถฐ์ค๋ค.
โ ๊ฐ์ ๊ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด max(right)์ ๊ฐ์ ๊ฐ์ ์ฐพ์ answer์ ์ถ๊ฐํ๋ค.
'๐์๊ณ ๋ฆฌ์ฆ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์ ๋ ฌ : K๋ฒ์งธ ์ (0) | 2021.07.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์์ ํ์ : ์นดํซ (0) | 2021.07.01 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] 2017 ํ์คํ์ด : ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ (0) | 2021.06.29 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์คํ/ํ : ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2021.06.29 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] 2019 KAKAO BLIND RECRUITMENT : ์คํ์ฑํ ๋ฐฉ (0) | 2021.06.29 |