일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 타입 좁히기
- tailwind
- CORS
- 인터섹션
- app router
- webpack
- 투포인터
- autosize
- 결정 알고리즘
- React
- SSR
- 이분 검색
- CI/CD
- async/await
- 공변성
- 리터럴 타입
- useAppDispatch
- map
- Cypress
- 호이스팅
- TS
- recoil
- dfs
- 태그된 유니온
- 무한 스크롤
- Jest
- Promise
- 반공변성
- ESlint
- RTK Query
Archives
- Today
- Total
짧은코딩
프로그래머스) 로또의 최고 순위와 최저 순위 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/77484
코딩테스트 연습 - 로또의 최고 순위와 최저 순위
로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호
programmers.co.kr
내 풀이(맞음)
def solution(lottos, win_nums):
answer = []
chk = []
count = 0
for i in lottos:
if i == 0:
count += 1
if i in win_nums:
chk.append(i)
for i in chk:
del lottos[lottos.index(i)]
del win_nums[win_nums.index(i)]
t = len(chk) #이게 최소 값
if t+count == 6:
answer.append(1)
elif t+count == 5:
answer.append(2)
elif t+count == 4:
answer.append(3)
elif t+count == 3:
answer.append(4)
elif t+count == 2:
answer.append(5)
else:
answer.append(6)
if t == 6:
answer.append(1)
elif t == 5:
answer.append(2)
elif t == 4:
answer.append(3)
elif t == 3:
answer.append(4)
elif t == 2:
answer.append(5)
else:
answer.append(6)
return answer
chk에 같은 숫자를 넣고 count에는 0의 개수를 넣었다. 그리고 lottos와 win_nums 둘 다 chk로 겹치는 수를 제거해줬다. 그러면 len(chk)는 최소 등수의 개수이다. 그리고 len(chk)에 count를 더하면 이게 최고 등수의 개수가 나온다.
반응형
'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글
프로그래머스) 크레인 인형뽑기 게임 (0) | 2022.03.27 |
---|---|
프로그래머스) 신규 아이디 추천 (0) | 2022.03.25 |
프로그래머스) 신고 결과 받기 (0) | 2022.03.25 |
1935 후위 표기식2 (0) | 2022.03.24 |
7785 회사에 있는 사람 (0) | 2022.03.23 |
Comments