def solution(lottos, win_nums):
zeros = 0
correct = 0
for x in lottos:
if x == 0 :
zeros += 1
else :
if win_nums.count(x) == 1:
correct += 1
# 모든 번호가 보일 때
if zeros == 0:
if correct == 6: # 다 맞았을 때
return [1,1]
elif correct > 1 and correct < 6 : # 2~5개 만 맞췄을 때
return [7 - correct, 7 - correct]
else: # 맞은게 0~1 개
return [6, 6]
# 안보이는 번호가 있을 때
elif zeros == 6: # 다 안보일 때
return [1, 6]
else:
return [ 7 - (zeros + correct), 7 - correct]
def solution(lottos, win_nums):
rank=[6,6,5,4,3,2,1]
cnt_0 = lottos.count(0)
ans = 0
for x in win_nums:
if x in lottos:
ans += 1
return rank[cnt_0 + ans],rank[ans]
def solution(lottos, win_nums):
rank = {
0: 6,
1: 6,
2: 5,
3: 4,
4: 3,
5: 2,
6: 1
}
return [rank[len(set(lottos) & set(win_nums)) + lottos.count(0)]
, rank[len(set(lottos) & set(win_nums))]]
내 풀이 | 다른 풀이 1 | 다른 풀이 2 | |
---|---|---|---|
테스트 1 〉 | 통과 (0.00ms, 10.4MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.1MB) |
테스트 2 〉 | 통과 (0.01ms, 10.2MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.2MB) |
테스트 3 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.2MB) | 통과 (0.01ms, 10.3MB) |
테스트 4 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.3MB) | 통과 (0.01ms, 10.1MB) |
테스트 5 〉 | 통과 (0.00ms, 10.3MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10MB) |
테스트 6 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.2MB) | 통과 (0.01ms, 10.2MB) |
테스트 7 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.1MB) |
테스트 8 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.3MB) |
테스트 9 〉 | 통과 (0.00ms, 10.4MB) | 통과 (0.01ms, 10.3MB) | 통과 (0.01ms, 10.1MB) |
테스트 10 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.2MB) | 통과 (0.01ms, 10.1MB) |
테스트 11 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.2MB) | 통과 (0.01ms, 10.2MB) |
테스트 12 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.00ms, 10.4MB) | 통과 (0.01ms, 10.1MB) |
테스트 13 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.00ms, 10.2MB) | 통과 (0.01ms, 10.1MB) |
테스트 14 〉 | 통과 (0.00ms, 10.2MB) | 통과 (0.02ms, 10.1MB) | 통과 (0.01ms, 10.2MB) |
테스트 15 〉 | 통과 (0.00ms, 10.4MB) | 통과 (0.00ms, 10.1MB) | 통과 (0.01ms, 10.1MB) |
확실히 경우를 세분화 시켜서 계산을 줄인 내 코드가 시간을 줄이긴 한 것 같다. 2번 코드는 메모리 사용을 최소화 시킴