๋ฌธ์ ๋งํฌ
https://programmers.co.kr/learn/courses/30/lessons/77484/
๋์ ํ์ด
- ๋ง์ถ ๊ฐฏ์๋ฅผ ๋ฆฌ์คํธ์ ๋ฃ์ด์ ๋ฑ์๋ ์ธ๋ฑ์ค๋ก ๋ฝ์์จ๋ค.
- lottos์ win nums ์ฌ์ด์์ ๊ฒน์น๋ ๋ฒํธ๋ฅผ ํฉ์งํฉ์ผ๋ก ๊ตฌํ ๋ค, ๊ฐฏ์๋ฅผ ์ธ์ด ์ต์ ์์๋ฅผ ๊ตฌํ๋ค.
- 0์ผ ๊ฒฝ์ฐ์๋ '๋ฌด์กฐ๊ฑด ๋ง์ถ๋ค'๋ผ๋ ์๊ฐ์ผ๋ก ์ต๊ณ ์์๋ฅผ ๊ตฌํ ์ ์๋ค. ๋ฐ๋ผ์ ์ต์ ์์๋ก ์ฐ์ ๋๋ ๊ฐฏ์์ 0์ ๊ฐฏ์๋ฅผ ๋ํด์ค๋ค.
- lottos๊ฐ ์ ๋ถ 0 ์ด์ด์ len(same) ์ด 0์ด๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๋ก ์ฒ๋ฆฌํด์ค์ผ ํ๋ค. (if๋ฌธ์ผ๋ก ์ฒ๋ฆฌํ๋ค.)
def solution(lottos, win_nums):
price = [0, 6, 5, 4, 3, 2, 1] #์ธ๋ฑ์ค
same = set(lottos) & set(win_nums)
min_price = price.index(len(same))
if min_price == 0 :
min_price = 6
if 0 in lottos:
max_price = price.index(len(same)+lottos.count(0))
else:
max_price = min_price
return [max_price, min_price]
๋ค๋ฅธ์ฌ๋ ํ์ด
๋๋ ํฉ์งํฉ์ ์ง์คํ์ฌ '๊ฒน์น๋ ์์ ์ซ์๋ฅผ ์ธ์ด์ค๋ค'๋ผ๋ ๊ฐ๋ ์ ์ง์คํ๋ค. ํ์ง๋ง ์ข์์๋ฅผ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ ํ์ด๋ฅผ ์ดํด๋ณด๋ฉด, ๋๊ฐ์ ๋ฆฌ์คํธ๋ฅผ '๋น๊ต'๋ง ํด์, lottos์ ์๋ ์๊ฐ win_nums์ ์๋๊ฐ? ๋ฅผ ์ดํด๋ณด๋ฉด์ answer์ +1 ์ฉ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ๋์ฒ๋ผ lottos๊ฐ ์ ๋ถ 0์ธ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํด์ฃผ๋ ๊ณผ์ ์ด ์์ด๋ ๋์ด ์ฝ๋๊ฐ ํจ์ฌ ๊ฐ๊ฒฐํ๋ค. ์ด๋ ๊ฒ ๋๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ๋น๊ตํด์ answer ์ ๊ตฌํด ์ต์ ์์๋ฅผ ๊ตฌํ๊ณ , 0์ ์ธ์ด์ ๋ํด์ฃผ๋ฉด์ ์ต๊ณ ์์๋ฅผ ๊ตฌํ๋ค.
์๋ฌด๋๋ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ณ , ๊น๋ํ๊ฒ ์ง๋ ๊ฒ์ ๋ํด์๋ ์ง์์ ์ธ ๋ฌธ์ ํ์ด์ ์ฐ์ต์ด ํ์ํ ๊ฒ๊ฐ๋ค ใ ใ
def solution(lottos, win_nums):
rank=[6,6,5,4,3,2,1]
cnt_0 = lottos.count(0)
ans = 0
for x in win_nums:
if x in lottos:
ans += 1
return rank[cnt_0 + ans],rank[ans]
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ซ์ ๋ฌธ์์ด๊ณผ ์๋จ์ด (0) | 2021.09.01 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ตฌํ - ๋ฌธ์์ด ์์ถ (0) | 2021.09.01 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํฐ์ผ๋ชฌ (level 1) (0) | 2021.08.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ์๋ฒ(greedy) - ์ฒด์ก๋ณต (0) | 2021.08.06 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ํด๋ฆฌ์ฑ๋ฆฐ์ง(1์ฃผ์ฐจ) - ๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2021.08.06 |