-코드
def solution(N, stages):
answer = {}
l = len(stages)
for i in range(1, N + 1):
if stages.count(i) != 0:
answer[i] = stages.count(i) / l
l -= stages.count(i)
else:
answer[i] = 0
answer = sorted(answer, key=lambda x: answer[x], reverse=True)
return answer
해결하는데 몇 가지 문제점이 있었습니다. 처음에는 카운트를 이용해서 각 숫자마다 빈도수 값이 저장이 되어야 하는데 리스트로 하다가 튜플로 바꿔주고 그 후에는 출력을 크기에 따라서 배열 뒤에 빈도수 값이 아닌 해당 수를 출력하는 것이어서 예전에 lamba를 사용한 것이 떠올라서 검색해서 해결을 하고 예시 출력은 잘 나왔지만 70점이 나왔습니다. 그래서 다시 구글링을 해보니 if문으로 카운트가 0일 경우를 따로 넣어주니 해결이 되었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 문자열 내 p와 y의 개수 (0) | 2021.05.23 |
---|---|
[프로그래머스/파이썬] 두 정수 사이의 합 (0) | 2021.05.23 |
[프로그래머스/파이썬] 3진법 뒤집기 (1) | 2021.05.22 |
[백준/파이썬]10808번 알파벳 개수 (0) | 2021.05.21 |
[백준/파이썬]18111번 마인크래프트 (0) | 2021.05.20 |