250x250
반응형
Notice
Recent Posts
Recent Comments
Link
종식당
[프로그래머스 lv.1] 2021 Dev-Matching: 웹 백엔드 개발자(상반기) 로또의 최고 순위와 최저 순위 본문
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/77484
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 문제 설명
win_nums리스트에는 당첨 번호가 저장되어 있고 lottos리스트에는 구매한 로또 번호가 저장되어 있다. lottos리스트에는 0이 있을 수도 있는데 만약 0이 있다면 이를 당첨되었다고 친 후 전체 당첨 개수에 더해 순위를 배열에 저장하다. 그리고 실제 0을 제외하고 실제 당첨된 개수를 가지고 순위를 구해서 배열에 저장한 후 이를 반환하면 된다
- 문제 접근 방법
문제가 생각보다 어렵지 않아서 빠르게 생각해낼 수 있었다.
먼저 당첨된 갯수와 순위를 딕셔너리에 저장해 두었다. 그리고 lottos배열에서 0의 개수를 세주고 다음으로 실제로 몇 개가 당첨되었는 지를 구했다.
최고 순위는 실제 당첨 갯수와 0의 개수를 더한 것과 같고 최소 순위는 실제 당첨 개수와 같으니까 이를 key로 이용해 해당 value 즉, 순위를 배열에 저장한 후 반환해 줬다.
- 정답 코드
def solution(lottos, win_nums):
answer = []
dict = {6:1,5:2,4:3,3:4,2:5,1:6,0:6}
cnt = lottos.count(0)
k = 0
for i in lottos:
if i in win_nums:
k+=1
best = cnt+k
worst = k
# answer.append(dict[best])
# answer.append(dict[worst])
# return answer
return [dict[best],dict[worst]]
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스 lv.1] 2022 KAKAO BLIND RECRUITMENT 주차 요금 계산 (0) | 2024.04.05 |
---|---|
[프로그래머스 lv.1] 2019 KAKAO BLIND RECRUITMENT 실패율 (1) | 2024.04.01 |
[프로그래머스 lv.1] 2023 KAKAO BLIND RECRUITMENT 개인정보 수집 유효기간 (0) | 2024.03.19 |
[프로그래머스 lv.2] 탐욕법(Greedy) 구명보트 (4) | 2024.01.26 |
[프로그래머스 lv.1] 2019 카카오 개발자 겨울 인턴십 크레인 인형뽑기 게임 (0) | 2024.01.22 |