Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.1 실패율 [Python, 파이썬] KAKAO 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42889#
- 스테이지에 머물러 있는 사람 구하는 방법을 count 함수를 쓰지 않고 임시 배열을 만들어서 구하는 방법을 써야 시간이 줄어든다.
- lambda로 정렬하는 방법을 알면 쉽다.
def solution(N, stages):
answer = []
t = [0] * (N+1)
for i in stages:
if i <= N: # 끝까지 클리어 한 사람 필요없어
t[i] += 1
fail = [] # [(스테이지, 실패율)] 들어갈 리스트
x = len(stages) # 유저 수
for i in range(1, len(t)):
x -= t[i-1] # i번 스테이지를 도전한 사람 구하기
if x == 0: # 모든 사람 구했으면
fail.append((i, 0)) # 나머지 스테이지 실패율은 0으로
else:
fail.append((i, t[i] / x)) # (스테이지, 실패율)을 구해서 추가
# 실패율 기준으로 내림차순 정렬 (실패율 같으면 알아서 스테이지는 오름차순으로 정렬된다.)
fail.sort(key=lambda x : x[1], reverse=True)
for i in fail: # 스테이지만 골라내서 추가
answer.append(i[0])
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 [3차] 압축 [Python, 파이썬] KAKAO (0) | 2023.09.26 |
---|---|
[프로그래머스] Lv.2 k진수에서 소수 개수 구하기 [Python, 파이썬] KAKAO (0) | 2023.09.26 |
[프로그래머스] Lv.2 [1차] 뉴스 클러스터링 [Python, 파이썬] KAKAO (0) | 2023.09.24 |
[프로그래머스] Lv.1 [1차] 비밀지도 [Python, 파이썬] KAKAO (0) | 2023.09.22 |
[프로그래머스] Lv.1 숫자 문자열과 영단어 [Python, 파이썬] KAKAO (0) | 2023.09.22 |
Comments