Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 파이썬
- 금융문자분석경진대회
- Git
- SW Expert Academy
- PYTHON
- 편스토랑 우승상품
- 백준
- 프로그래머스 파이썬
- gs25
- 더현대서울 맛집
- ubuntu
- github
- AI 경진대회
- Real or Not? NLP with Disaster Tweets
- leetcode
- 데이콘
- 우분투
- Docker
- programmers
- 맥북
- 자연어처리
- hackerrank
- 편스토랑
- 프로그래머스
- Kaggle
- 캐치카페
- Baekjoon
- dacon
- ChatGPT
- 코로나19
Archives
- Today
- Total
솜씨좋은장씨
[Programmes] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) - 로또의 최고 순위와 최저 순위 (Python) 본문
Programming/코딩 1일 1문제
[Programmes] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) - 로또의 최고 순위와 최저 순위 (Python)
솜씨좋은장씨 2021. 8. 12. 11:52728x90
반응형
코딩 1일 1문제! 오늘의 문제는 프로그래머스 2021년 웹 백엔드 개발자 상반기 Dev-Matching 문제 였던
로또의 최고 순위와 최저 순위 입니다.
이번주 로또 당첨을 기원하며!
Solution
def get_lotto_rank(match_num):
rank_dict = {6: 1, 5: 2, 4: 3, 3: 4, 2: 5, 1: 6, 0: 6}
return rank_dict[match_num]
def solution(lottos, win_nums):
answer = []
certain_numbers = [number for number in lottos if number != 0]
uncertain_nums = len(lottos) - len(certain_numbers)
min_match = len(set(win_nums) & set(certain_numbers))
max_match = min_match + uncertain_nums
return [get_lotto_rank(max_match), get_lotto_rank(min_match)]
Solution 풀이
lottos 에 들어있는 숫자들이 현재 내가 가지고 있는 로또의 번호이고,
숫자 중 0으로 표시되어있는 숫자들은 어떤 숫자인지 잘 모르겠는 번호입니다.
win_nums는 당첨 번호 입니다.
먼저 lottos에서 0이 아닌 숫자, 즉 확실하게 알고있는 번호만을 certain_numbers에 저장합니다.
불확실한 숫자는 몇개인지 lottos의 개수에서 확실하게 아는 번호의 개수를 빼어 계산해 둡니다.
그 다음 당첨 번호와 확실하게 아는 번호를 set의 &을 활용하여 내 확실한 번호중에 당첨 된 번호를 구해주고
이 번호의 갯수를 구합니다.
그럼 이게 바로 최소 당첨 개수이고
여기서 내가 잘 모르고있던 번호의 개수만큼이 사실은 다 당첨 번호였다 라는 가정하에
최소 당첨 갯수에 잘 모르고 있던 번호의 개수만큼 더한 개수가 최대 당첨 개수 입니다.
이를 등수로 변환하여 출력하면 끝!
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 10757번 : 큰 수 A+B (Python) (0) | 2021.08.14 |
---|---|
[BaekJoon] 11399번 : ATM (Python) (0) | 2021.08.13 |
[Programmers] 위클리 챌린지 2주차 - 상호 평가 (Python) (0) | 2021.08.11 |
[BaekJoon] 3986번 : 좋은 단어 (Python) (0) | 2021.08.10 |
[BaekJoon] 2857번 : FBI (Python) (4) | 2021.08.09 |
Comments