사용 언어 - 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
레퍼런스
- 좋은 풀이
- 정답 깃허브
'Algorithm > 구현' 카테고리의 다른 글
[프로그래머스 lv 1] [1차] 다트 게임 (1) | 2023.05.30 |
---|---|
[프로그래머스 lv 1] 신규 아이디 추천 (0) | 2023.05.29 |
[프로그래머스 lv 1] 크레인 인형뽑기 게임 (0) | 2023.05.23 |
[프로그래머스 lv 1] 키패드 누르기 (0) | 2023.05.22 |
[프로그래머스 lv 1] 두 개 뽑아서 하기 (0) | 2023.05.21 |
댓글