- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/77484
Level1이고, 스스로 푼 문제
1.
로직은 당첨 번호과 같은 숫자들의 갯수를 먼저 센다
이거는 correct 변수로 진행한다
2.
2-1. 0의 갯수를 카운트 한 다음 0이 모두 당첨번호가 아닌 경우가 가능한 가장 낮은 등수일 것이고,
2-2. 0이 모두 당첨번호인 경우에 가능한 가장 높은 등수일 것이다.
이 경우는 zeros 변수로 진행한다
if문 만족하는 경우는 break 써서 해당 for문 나와야 한다. 안 그럼 틀린다!
처음에는 가장 높은 등수를 세는 건데, 만약 맞는 숫자와 0의 갯수의 합이 0이면 무조건 6등이므로, 이는 따로 조건 설정을 해준다
같은 로직으로 가장 낮은 등수를 찾는다음 answer에 삽입한 후 반환하면 된다
- 정답 풀이 :
def solution(lottos, win_nums):
answer = []
correct = 0
zeros = 0
for i in range(6):
if lottos[i] in win_nums:
correct += 1
if lottos[i] == 0:
zeros += 1
first = correct + zeros
for i in range(6,-1,-1):
if i == 0:
answer.append(6)
break
elif first == i :
answer.append(7-i)
break
for i in range(6,-1,-1):
if correct == 0:
answer.append(6)
break
elif correct == i:
answer.append(7-i)
break
return answer
'프로그래머스 > Level1' 카테고리의 다른 글
[2019 카카오 개발자 겨울 인턴십] 64061번 : 크레인 인형뽑기 (0) | 2022.08.19 |
---|---|
[2022 KAKAO TECH INTERNSHIP/ 프로그래머스] 18666번 : 성격 유형 검사하기 (0) | 2022.08.19 |
[2021 카카오 채용연계 인턴십] 81301번 : 숫자 문자열과 영단어 (0) | 2022.08.17 |
[완전탐색/ 프로그래머스] 86491번 : 최소 직사각형 (0) | 2022.08.17 |
[그리디/프로그래머스] 2022 KAKAO BLIND RECRUITMENT (0) | 2022.08.16 |