일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 알고리즘문제풀이
- 코테
- dft
- SWIFT
- 독서노트
- backjoon
- DTFT
- 릿코드
- 컨볼루션
- 신호처리
- Trie
- 트라이
- 프로그래머스
- Leet Coding Challenge
- 코테준비
- PYTHON
- 카카오 코딩테스트
- 파이썬
- 스위프트
- 백준
- leet code
- 전자공학
- IOS
- 이산신호처리
- SWIFTUI
- DSP
- 알고리즘 문제풀이
- 코딩테스트
- leetcode
- 알고리즘
Archives
- Today
- Total
매일 매일 성장하는 섭섭군
[Seop's의 코드풀이] 프로그래머스 실패율 (2019 KAKAO BLIND RECRUITMENT) - Python 본문
알고리즘 문제풀이/프로그래머스
[Seop's의 코드풀이] 프로그래머스 실패율 (2019 KAKAO BLIND RECRUITMENT) - Python
섭섭군 2020. 5. 12. 12:10반응형
이번에 풀어볼 문제는 프로그래머스에 있는 실패율이라는 문제입니다.
2019년 카카오 블라인드 채용에 나왔던 문제인데요 문제는 다음과 같습니다.
www.programmers.co.kr/learn/courses/30/lessons/42889
문제를 요약하면 다음과 같습니다.
N 개의 스테이지가 존재하고 stages란 배열에 참가자들이 현재 도전중인 스테이지가 주어진다.
현재 도달한 스테이지는 아직 클리어하지 못한 것이다.
각 스테이지마다 실패율 : (스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수)/ (스테이지에 도달한 수)
실패율이 높은 순서대로 스테이지의 번호가 담긴 배열을 출력하라!!
필자는 본 문제를 딕셔너리를 활용해서 풀었습니다.
다음과 같이 딕셔너리에 적재했는데요.
st_dict = {스테이지번호 : [스테이지에 도달한 사람, 도달했으나 클리어하지 못한 사람]}
이런 식으로 딕셔너리에 저장하고 딕셔너리에 있는 정보를 토대로 실패율을 계산했습니다.
전체적인 코드는 다음과 같습니다.
피드백과 질문은 언제나 감사드립니다.
def solution(N, stages):
answer = []
st_dict = dict()
ans_dict = dict()
for i in range(1, N + 1) :
st_dict[i] = [0,0]
ans_dict[i] = 0
# [0] = 스테이지에 도달한 사람 [1] = 도달했으나 클리어하지 못한 사람
for s in stages :
for i in range(1, s ) :
st_dict[i][0] += 1
if s <= N :
st_dict[s][1] += 1
st_dict[s][0] += 1
# 실패율을 계산!!
for k, v in st_dict.items() :
if v[0] == 0 :
ans_dict[k] = 0
else :
ans_dict[k] = v[1]/v[0]
result = list(sorted(ans_dict.items(), key= lambda x: (-x[1], x[0] )))
for i in result :
answer.append(i[0])
return answer
반응형
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[Seop's의 코드풀이] 프로그래머스 줄 서는 방법 - Python (0) | 2020.08.19 |
---|---|
[Seop's의 코드풀이] 프로그래머스 최고의 집합 - Python (0) | 2020.08.19 |
[Seop's의 코드풀이] 프로그래머스 불량사용자 - Python (0) | 2020.05.06 |
[Seop's의 코드풀이] 프로그래머스 2018 KAKAO BLIND RECRUITMENT [1차] 다트게임 - Python (0) | 2020.05.03 |
[Seop's의 코드풀이] 프로그래머스 문자열 압축(2020 KAKAO BLIND RECRUITMENT) - Python (0) | 2020.04.23 |
Comments