반응형
250x250
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 | 29 | 30 |
Tags
- 사회조사분석사 2급 필기 시험시간
- 현대엔지니어링
- 사회조사분석사 2급 필기 공부방법
- 너비우선탐색
- 공모주청약
- 사회조사분석사2급실기신청
- 사이킷런
- 공모주 청약
- 사회조사분석사 2급
- 사회조사분석사 2급 기출문제집
- 정렬
- 알고리즘
- 공모주
- 백준 알고리즘
- 사회조사분석사2급실기신청꿀팁
- 파이썬 정렬
- 사회조사분석사 2급 접수
- DFS
- 시물레이션
- 현대엔지니어링 수요예측
- 벽부수고이동하기 파이썬
- 2월공모주
- 사회조사분석사 2급 필기 요약정리
- 머신러닝
- 사회조사분석사 2급 독학
- 사회조사분석사 2급 공부방법
- 백준
- 오미크론 자가격리
- BFS
- 그리디
Archives
- Today
- Total
세상을 바꾸는 데이터
[프로그래머스] 실패율 - 파이썬 본문
문제 링크:
https://programmers.co.kr/learn/courses/30/lessons/42889
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
이 문제는 2019 카카오 신입 공채 1차 기출문제, 이코테 기출 25번 문제입니다.
풀이 유형:
구현, 정렬
★문제풀이 Point★
1. O(NlogN)의 시간으로 풀면 통과 가능한 문제
2. 문제에서 주어진대로 구현하면 되는 문제
풀이 과정:
이 문제는 실패율의 정의에 따라서 실수 없이 구현을 잘해주면 되는 문제이다.
시간 제한이 1초, stages의 길이가 200,000이므로 O(NlogN)의 시간으로 정렬을 수행하면 충분하다.
실패율: '스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수' / '스테이지에 도달한 플레이어의 수'
1. 스테이지 번호를 1부터 N까지 증가시키며, 해당 단계에 머물러 있는 플레이어들의 수(count)를 계산한다.
2. 플레이어들의 수(count) 정보를 이용하여 모든 스테이지에 따른 실패율을 계산한 뒤에 배열(answer)에 추가한다.
3. 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호를 출력해야 하므로 lambda 함수를 이용하여 정렬한다.
풀이 코드:
# 실패율
def solution(N, stages):
answer = []
length = len(stages)
# 1부터 N까지 스테이지를 하나씩 살펴보며
for i in range(1, N+1):
# 아직 클리어하지 못한 플레이어의 수 세기
count = stages.count(i)
# 실패율 계산
if length == 0:
fail = 0
else:
fail = count / length
# 다음 스테이지에 도달한 플레이어의 수 계산
length -= count
# 배열에 (스테이지 번호, 실패율) 추가
answer.append((i, fail))
# 실패율 내림차순을 기준으로 정렬
answer = sorted(answer, key=lambda x: x[1], reverse = True)
# 각 스테이지 번호를 실패율의 내림차순으로 정렬
answer = [i[0] for i in answer]
return answer
728x90
반응형
'PS Study > 이코테 문제풀이' 카테고리의 다른 글
[백준 10825번] 국영수 - 파이썬 (61) | 2022.03.02 |
---|---|
[백준 16234번] 인구 이동 - 파이썬 (59) | 2022.02.27 |
[2020 KAKAO BLIND RECRUITMENT] 문자열 압축 - 파이썬 (40) | 2022.02.01 |
[이코테 코드 리뷰] - 구현 예제 및 실전 문제 (9) | 2022.01.26 |
Comments