https://programmers.co.kr/learn/courses/30/lessons/42889
> 정렬
딕셔너리를 선언해서 key값엔 stage 단계, value값엔 실패율을 담은 후, sorted로 정렬했다.
그런데 문제는 sorted에서 dict.items()로 정렬하는 과정에서 딕셔너리가 리스트+튜플 형태로 변하기 때문에, 리스트 내의 튜플에서 stage값만 추출하기 위해 다시 반복문을 돌렸다.
* 마지막 스테이지까지 도달한 사람이 없을 경우(마지막 stage의 leng이 0인 경우)를 고려해 주지 않으면 cnt를 0으로 나눠주는 것이기 때문에 runtime error가 나는 것에 주의해야한다.
* 정렬부분에서 부터 return 부분까지 개선이 필요하다.
>배운 점
다른 사람의 풀이를 참고하여 마지막 부분 코드를 개선했다.
딕셔너리의 경우 정렬을 할 때 기본적으로 key가 정렬기준으로 들어가고 출력된다. 그런데 해당 문제에선 value가 정렬기준이 되어야 하므로 lambda x: answer[x] 를 통해 정렬 기준을 value로 설정해주었다. value를 기준으로 내림정렬되고 출력 값은 key값으로 출력된다.
'python > 알고리즘 문제풀이' 카테고리의 다른 글
[백준 | 파이썬3] 10814 나이 순 정렬 (0) | 2022.02.23 |
---|---|
[프로그래머스 | 파이썬3] 약수의 개수와 덧셈 (0) | 2021.12.09 |
[백준 | 파이썬3] 1018. 체스판 다시 칠하기 - 브루트포스 (1) | 2021.12.07 |
[백준 | 파이썬3] 1541. 잃어버린 괄호- 그리디알고리즘 (2) | 2021.12.06 |
[백준 | 파이썬3] 10866 덱 - 덱 (1) | 2021.12.02 |