Algorithm/Sort

[Python] 실패율

코딩쪼앙 2023. 1. 25. 14:12

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 풀이

  • 실패율을 계산해서 배열에 저장한다 (실패율 0인 경우도 따로 처리 해서 저장해야 함)
  • 배열 내림차순으로 정렬
  • 배열의 0번째 원소 (스테이지 번호) 만 출력

코드

def solution(N, stages):
    length = len(stages)
    answer = []
    for i in range(1, n + 1):
        count = stages.count(i)
        # 실패율 0인 경우 처리
        if length == 0:
            fail = 0
        else:
            fail = count / length # 실패율 계산
        answer.append((i, fail))
        length -= count
    answer = sorted(answer, key = lambda x:x[1], reverse=True) # 내림차순으로 정렬
    answer = [i[0] for i in answer] # 스테이지 단계만 저장
    return answer

'Algorithm > Sort' 카테고리의 다른 글

[Python] 백준 31650번 Maximizing Productivity  (2) 2024.10.05
[Python] 카드 정렬하기  (0) 2023.01.25
[Python] 안테나  (0) 2023.01.22
[Python] 국영수  (0) 2023.01.22
[Python] 두 배열의 원소 교체  (0) 2023.01.20