๐ก ๋ฌธ์ ์ค๋ช
๋ก๋ 6/45(์ดํ '๋ก๋'๋ก ํ๊ธฐ)๋ 1๋ถํฐ 45๊น์ง์ ์ซ์ ์ค 6๊ฐ๋ฅผ ์ฐ์ด์ ๋งํ๋ ๋ํ์ ์ธ ๋ณต๊ถ์ ๋๋ค. ์๋๋ ๋ก๋์ ์์๋ฅผ ์ ํ๋ ๋ฐฉ์์ ๋๋ค.
์์ ๋น์ฒจ ๋ด์ฉ
1 | 6๊ฐ ๋ฒํธ๊ฐ ๋ชจ๋ ์ผ์น |
2 | 5๊ฐ ๋ฒํธ๊ฐ ์ผ์น |
3 | 4๊ฐ ๋ฒํธ๊ฐ ์ผ์น |
4 | 3๊ฐ ๋ฒํธ๊ฐ ์ผ์น |
5 | 2๊ฐ ๋ฒํธ๊ฐ ์ผ์น |
6(๋์ฒจ) | ๊ทธ ์ธ |
๋ก๋๋ฅผ ๊ตฌ๋งคํ ๋ฏผ์ฐ๋ ๋น์ฒจ ๋ฒํธ ๋ฐํ์ผ์ ํ์๊ณ ๋ํ๊ณ ์์์ต๋๋ค. ํ์ง๋ง, ๋ฏผ์ฐ์ ๋์์ด ๋ก๋์ ๋์๋ฅผ ํ์ฌ, ์ผ๋ถ ๋ฒํธ๋ฅผ ์์๋ณผ ์ ์๊ฒ ๋์์ต๋๋ค. ๋น์ฒจ ๋ฒํธ ๋ฐํ ํ, ๋ฏผ์ฐ๋ ์์ ์ด ๊ตฌ๋งคํ๋ ๋ก๋๋ก ๋น์ฒจ์ด ๊ฐ๋ฅํ๋ ์ต๊ณ ์์์ ์ต์ ์์๋ฅผ ์์๋ณด๊ณ ์ถ์ด ์ก์ต๋๋ค.
์์๋ณผ ์ ์๋ ๋ฒํธ๋ฅผ 0์ผ๋ก ํ๊ธฐํ๊ธฐ๋ก ํ๊ณ , ๋ฏผ์ฐ๊ฐ ๊ตฌ๋งคํ ๋ก๋ ๋ฒํธ 6๊ฐ๊ฐ 44, 1, 0, 0, 31 25๋ผ๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ๋น์ฒจ ๋ฒํธ 6๊ฐ๊ฐ 31, 10, 45, 1, 6, 19๋ผ๋ฉด, ๋น์ฒจ ๊ฐ๋ฅํ ์ต๊ณ ์์์ ์ต์ ์์์ ํ ์๋ ์๋์ ๊ฐ์ต๋๋ค.
๋น์ฒจ ๋ฒํธ3110451619๊ฒฐ๊ณผ
์ต๊ณ ์์ ๋ฒํธ | 31 | 0→10 | 44 | 1 | 0→6 | 25 | 4๊ฐ ๋ฒํธ ์ผ์น, 3๋ฑ |
์ต์ ์์ ๋ฒํธ | 31 | 0→11 | 44 | 1 | 0→7 | 25 | 2๊ฐ ๋ฒํธ ์ผ์น, 5๋ฑ |
- ์์์ ์๊ด์์ด, ๊ตฌ๋งคํ ๋ก๋์ ๋น์ฒจ ๋ฒํธ์ ์ผ์นํ๋ ๋ฒํธ๊ฐ ์์ผ๋ฉด ๋งํ ๊ฑธ๋ก ์ธ์ ๋ฉ๋๋ค.
- ์์๋ณผ ์ ์๋ ๋ ๊ฐ์ ๋ฒํธ๋ฅผ ๊ฐ๊ฐ 10, 6์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด 3๋ฑ์ ๋น์ฒจ๋ ์ ์์ต๋๋ค.
- 3๋ฑ์ ๋ง๋๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค๋ ์กด์ฌํฉ๋๋ค. ํ์ง๋ง, 2๋ฑ ์ด์์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ์์๋ณผ ์ ์๋ ๋ ๊ฐ์ ๋ฒํธ๋ฅผ ๊ฐ๊ฐ 11, 7์ด๋ผ๊ณ ๊ฐ์ ํ๋ฉด 5๋ฑ์ ๋น์ฒจ๋ ์ ์์ต๋๋ค.
- 5๋ฑ์ ๋ง๋๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ค๋ ์กด์ฌํฉ๋๋ค. ํ์ง๋ง, 6๋ฑ(๋์ฒจ)์ผ๋ก ๋ง๋๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋ฏผ์ฐ๊ฐ ๊ตฌ๋งคํ ๋ก๋ ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด lottos, ๋น์ฒจ ๋ฒํธ๋ฅผ ๋ด์ ๋ฐฐ์ด win_nums๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ด๋, ๋น์ฒจ ๊ฐ๋ฅํ ์ต๊ณ ์์์ ์ต์ ์์๋ฅผ ์ฐจ๋ก๋๋ก ๋ฐฐ์ด์ ๋ด์์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ก ๋์ ํ์ด
def solution(lottos, win_nums):
counter = 0
answer = []
for lotto in lottos:
if win_nums.count(lotto) > 0:
counter += 1
max = counter + lottos.count(0)
min = counter
if max == 6:
answer.append(1)
elif max == 5:
answer.append(2)
elif max == 4:
answer.append(3)
elif max == 3:
answer.append(4)
elif max == 2:
answer.append(5)
else:
answer.append(6)
if min == 6:
answer.append(1)
elif min == 5:
answer.append(2)
elif min == 4:
answer.append(3)
elif min == 3:
answer.append(4)
elif min == 2:
answer.append(5)
else:
answer.append(6)
return answer
์ฒ์ ํผ ๋์ ํ์ด๋ฅผ ๋ณด๋ฉด ์ ๋ง ๋๋ฝ๋ค๊ณ ๋ณผ ์ ์๋ค.. ๋ถ๋๋ฌ์ธ ์ ๋
๋จผ์ , win_nums์ lottos์ ๊ฐ์ ์๋ฅผ ์ฐพ๊ณ , lottos์ 0์ ๊ฐ์์ ๋ฐ๋ผ ์์๊ฐ ๋ฐ๋๊ธฐ ๋๋ฌธ์
์ต๊ณ ์์๋ ๊ฐ์ ์ + lottos.count(0)์ผ๋ก ํ๊ณ , ์ต์ ์์๋ ๊ฐ์ ์๋ก ์ง์ ์ ํ๋ค.
๊ทธ๋ฌ๊ณ ๋์ ๋ง์ ๊ฐ์์ ๋ฐ๋ผ ๋ก๋ ์์๋ฅผ ์ถ๋ ฅํด์ผ ํ๋๋ฐ ์ด ๋ถ๋ถ์ด ๊ณ ๋ฏผ์ด ๋์๋ค
๊ทธ๋ฅ ๋ฌด์์ if๋ฌธ์ผ๋ก ์ง์ ๋ถํ๊ฒ ๋ง๋ค์๋๋ ํต๊ณผ๋ ํ์ง๋ง, ์ด๋ ๊ฒ ํ์ดํ๋ฉด ์ ๋๊ธฐ์ ๋ค๋ฅธ ์ฌ๋์ ๋ฌธ์ ๋ฅผ ์ดํด๋ณธ ๊ฒฐ๊ณผ
๋ค๋ค ๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํด์ ๊น๋ํ๊ฒ ํด๊ฒฐ์ ํ๋ค..
์ด์ ๋์ ๋๋ฆฌ ์์ง ๋ง์ ํ๋๋ฐ ํ๋ฃจ ๋ง์ ์์๋ค.. ๋ฐ์ฑํ์
๋ค์ ๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ ํ๋ค.
๐ก ํ์ด ์์ (๋์ ๋๋ฆฌ ์ด์ฉ)
def solution(lottos, win_nums):
counter = 0
answer = []
dic = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6}
for lotto in lottos:
if win_nums.count(lotto) > 0:
counter += 1
answer.append(dic[counter + lottos.count(0)])
answer.append(dic[counter])
return answer
์ข ๋ ๊น๋ํด์ก๋ค
ํ์ง๋ง ๋ค๋ฅธ ์ฌ๋ ํ์ด๋ฅผ ๋ณด๋ ๋ ์ข์ ๋ฐฉ๋ฒ๋ ์์๋ค
๋ฐ๋ก ๋ฆฌ์คํธ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.
๐ก ์ ์ผ ๊ฐ๋จํ ๋ฐฉ๋ฒ
rank=[6,6,5,4,3,2,1]
์ด๋ ๊ฒ ํ๋ฉด ์ ๋ต ๊ฐ์๋ฅผ ์ธ๋ฑ์ค๋ก ํด์ ์ถ๋ ฅํ๋ฉด ๋.
์ ์๊ฐ์ด ์ ๋ฌ์๊น..
'algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] 3273๋ฒ: ๋ ์์ ํฉ - ํ์ด์ฌ(python) (0) | 2021.07.01 |
---|---|
[BAEKJOON] 4949๋ฒ: ๊ท ํ์กํ ์ธ์ - ํ์ด์ฌ(python) (0) | 2021.06.29 |
[ํ๋ก๊ทธ๋๋จธ์ค level1] ์คํจ์จ - ํ์ด์ฌ (0) | 2021.06.19 |
[python] ์ ํ ์ ๋ ฌ (selection sort) (0) | 2020.11.22 |
[python] RSA (Rivest, Shamir and Adleman) ์๊ณ ๋ฆฌ์ฆ (0) | 2020.11.06 |