Algorithm/구현
[프로그래머스 lv 1] 실패율
HANNI하니
2023. 5. 28. 19:33
사용 언어 - Python3
문제 - 실패율
정답
구현 (정답 맞춘 여부 X)
정렬 후 리스트 원소값을 출력하는 방법을 몰라서 틀렸다.
새 리스트명 = sorted(리스트명, reverse=True)
a를 s의 정렬된 버전으로 리스트를 저장해주고,
s.index(a[i]) : a의 첫번째 값부터 s에서 찾아서 index를 정답으로 뽑아준다.
중복 방지를 위하여, s에서 이미 찾아진 index의 값은 s[s.index(a[i])] = 2로 설정해준다. 실패율은 1보다 크지 않기 때문에 2는 불가능하기 때문이다.
def solution(N, stages):
k = len(stages)
s = []
for i in range(1,N+1): # 스테이지 번호
c = 0
for j in range(len(stages)):
if stages[j] == i:
c += 1 # 각 스테이지 별 클리어하지 못한 사용자 수
if c == 0:
s.append(0)
else:
s.append(c/k)
k -= c
a = sorted(s,reverse=True)
answer = []
for i in range(len(a)):
answer.append(s.index(a[i])+1)
s[s.index(a[i])] = 2 # 실패율 최대 1. 2로 설정해서 중복방지
return answer
레퍼런스
- 좋은 풀이
- 정답 깃허브