[プログラマーLv 1]楽透の最高と最低順位(python)
質問する
https://programmers.co.kr/learn/courses/30/lessons/77484
マイコード
思考は重要な問題だ.
https://programmers.co.kr/learn/courses/30/lessons/77484
マイコード
"""
1. 아이디어
맞춘 개수에 따라 해당하는 순위를 딕셔너리 안에 넣고 마지막에 참조하는 식으로 작성한다.
2. 시간복잡도
O(N)
"""
def solution(lottos, win_nums):
result = []
ranking = {0:6, 1:6, 2:5, 3:4, 4:3, 5:2, 6:1}
success_num = 0
unknown_num = 0
fail_num = 0
for num in lottos:
if num in win_nums:
success_num += 1
elif num == 0:
unknown_num += 1
else:
fail_num += 1
success_num += unknown_num # 알아볼 수 없는 번호는 전부 당첨이라고 가정
result.append(ranking[success_num])
result.append(ranking[6-unknown_num-fail_num])
return result
他人のコード"""
1. 아이디어
깔끔하지만 결국 내 것과 같은 생각과 알고리즘이다.
"""
def solution(lottos, win_nums):
zero_cnt = lottos.count(0)
ans = 0
rank = [6, 6, 5, 4, 3, 2, 1]
for x in win_nums:
if x in lottos:
ans += 1
return rank[zero_cnt + ans], rank[ans]
に感銘を与える思考は重要な問題だ.
Reference
この問題について([プログラマーLv 1]楽透の最高と最低順位(python)), 我々は、より多くの情報をここで見つけました https://velog.io/@tyjk8997/프로그래머스-Lv1-로또의-최고-순위와-최저-순위pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol