문제 참고
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드 작성
def solution(lottos, win_nums): answer = [] count = 0 zero = 0 for lotto in lottos: if lotto == 0: zero += 1 continue if lotto in win_nums: count += 1 if count >= 1: answer.append(7-(count + zero)) answer.append(7-count) elif count == 0 and zero != 0: answer.append(7 - zero) answer.append(6) else: answer.append(6) answer.append(6) return answer
- 0의 개수를 센다. 0은 어떠한 번호로든 변할 수 있기 때문에 센다.
- 만약 번호가 당첨번호에 포함된다면 count에 1을 더한다.
- 만약 count가 1이상일 경우에는, zero가 전부 다 맞을 경우 최고 순위, zero가 다 틀릴 경우가 최저 순위가 된다.
- 만약 count가 0인데, zero가 0이 아닌 경우에는 최고 순위는 zero가 다 맞는 경우, 최저 순위는 6위이다.
- 만약 count가 0인데다가, zero가 0인 경우에는 최고든 최저든 6위이다.
