사용 언어 - Python3
문제 - 실패율
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
정답
구현 (정답 맞춘 여부 X)
정렬 후 리스트 원소값을 출력하는 방법을 몰라서 틀렸다.
새 리스트명 = sorted(리스트명, reverse=True)
a를 s의 정렬된 버전으로 리스트를 저장해주고,
s.index(a[i]) : a의 첫번째 값부터 s에서 찾아서 index를 정답으로 뽑아준다.
중복 방지를 위하여, s에서 이미 찾아진 index의 값은 s[s.index(a[i])] = 2로 설정해준다. 실패율은 1보다 크지 않기 때문에 2는 불가능하기 때문이다.
def solution(N, stages):
k = len(stages)
s = []
for i in range(1,N+1): # 스테이지 번호
c = 0
for j in range(len(stages)):
if stages[j] == i:
c += 1 # 각 스테이지 별 클리어하지 못한 사용자 수
if c == 0:
s.append(0)
else:
s.append(c/k)
k -= c
a = sorted(s,reverse=True)
answer = []
for i in range(len(a)):
answer.append(s.index(a[i])+1)
s[s.index(a[i])] = 2 # 실패율 최대 1. 2로 설정해서 중복방지
return answer
레퍼런스
- 좋은 풀이
[프로그래머스 Level 1] 실패율 - 파이썬(Python)
문제 설명 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자
it-garden.tistory.com
- 정답 깃허브
GitHub - yyeongeun/codingtest: 코딩테스트 공부
코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.
github.com
'Algorithm > 구현' 카테고리의 다른 글
[프로그래머스 lv 1] [1차] 다트 게임 (1) | 2023.05.30 |
---|---|
[프로그래머스 lv 1] 신규 아이디 추천 (0) | 2023.05.29 |
[프로그래머스 lv 1] 크레인 인형뽑기 게임 (0) | 2023.05.23 |
[프로그래머스 lv 1] 키패드 누르기 (0) | 2023.05.22 |
[프로그래머스 lv 1] 두 개 뽑아서 하기 (0) | 2023.05.21 |
댓글