소스 코드(초기 코드)
def solution(lottos, win_nums): answer = [] cnt = 0 for q in win_nums: for w in lottos: if q == w: cnt += 1 break zero_cnt = lottos.count(0) low = 7 - cnt high = 7 - cnt - zero_cnt if cnt == 0: low = 6 if zero_cnt == 0: high -= 1 answer = [high, low] return answer
소스 코드(개선 코드)
def solution(lottos, win_nums): answer = [] score = [6,6,5,4,3,2,1] zero_cnt = lottos.count(0) cnt = 0 for q in win_nums: for w in lottos: if q == w: cnt += 1 break answer = [score[zero_cnt+cnt], score[cnt]] return answer
해결 방법
1. 당첨된 번호의 수와 0의 개수를 찾아서 계산
(최고는 당첨된 번호의 수 + 0의 개수, 최악은 당첨된 번호의 수)
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제풀이.프로그래머스' 카테고리의 다른 글
[프로그래머스 코딩] 신규 아이디 추천 - PYTHON (0) | 2021.07.28 |
---|---|
[프로그래머스 코딩] 키패드 누르기 - PYTHON (0) | 2021.07.28 |
[프로그래머스 코딩] 크레인 인형뽑기 게임 - PYTHON (0) | 2021.07.27 |
[프로그래머스 코딩] 숫자 문자열과 영단어 - PYTHON (0) | 2021.07.26 |
[프로그래머스 코딩] 코딩테스트 연습 H-Index - PYTHON (0) | 2021.07.01 |