Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 우울증
- 자연어처리
- Classification Task
- NLP
- pytorch
- 품사태깅
- 대학원
- 수기
- 인공지능
- CUDA
- 석사
- Word2Vec
- 전처리
- sentiment analysis
- naver movie review
- word embedding
Archives
- Today
- Total
슬기로운 연구생활
[프로그래머스] 실패율 본문
* 문제
programmers.co.kr/learn/courses/30/lessons/42889
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
* 문제 풀이
- 첫째, stages의 개수를 구한다.
- 둘재, user_nu의 개수를 차례 차례 줄여주면 각 스테이지의 실패율을 구한다.
- 셋째, 실패율을 사전 형식으로 저장한 후 value 값을 기준으로 높은 순서대로 출력한다.
* 생각
- 큰 줄기의 흐름은 전부 맞았지만 하나의 예외처리를 하지 못해 틀렸다.
사용자 수가 0일 경우에 분모가 0이 되는데 이럴경우 zero division 문제가 발생한다.
이 예외처리가 제대로 출력되지 않아 시간을 많이 잡아먹었다.
* 코드
import collections
def solution(N, stages):
cnt_dic = collections.Counter(stages)
user_num = len(stages)
fail_dic = {}
for i in range(1, N+1):
if user_num != 0:
fail_val = (cnt_dic[i] / user_num)
fail_dic[i] = fail_val
else:
fail_dic[i] = 0
user_num -= cnt_dic[i]
return sorted(fail_dic, key = lambda k: fail_dic[k], reverse=True)
'슬기로운 코테 생활' 카테고리의 다른 글
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2020.12.21 |
---|---|
[프로그래머스] 하샤드 수 (0) | 2020.12.20 |
[프로그래머스] 최대공약수와 최소공배수 (0) | 2020.12.18 |
[프로그래머스] 키패드 누르기 (0) | 2020.12.16 |
[프로그래머스] 정수 제곱근 판별 (0) | 2020.12.15 |
Comments