자세한 설명은 링크 참고
스테이지를 통과하지 못한 사용자의 비율을 구하는 문제이다.
N
이 스테이지의 총 개수이고,stages
는 사용자 개인이 머물러 있는 스테이지이다. 스테이지 1부터stages
안에 있는 플레이어 수를 전체에서 나누어 주었고, 각각 실패율을 구하기 위해 플레이어를 모두 빼주었다.
이후 각각 실패율에 따라sorted
해주었는데, 이것은 검색이 조금 필요했다. 코드는 이렇다.
lambda
를 사용하여 딕셔너리를sorted
해주는 방법이 있어서 너무 다행이었다.
lambda
의 사용 결과는[(a,1),(b,2)]
같은 방식으로 나온다.
기본 설정이 오름차순이어서reverse=True
를 넣어주었다.
결과는
시간 초과로 실패하였다.
구글링이 시작되었다.
시간복잡도로 검색하고 결과를 가져왔다.
가장 먼저 하나씩 확인해가며 삭제해주었던 부분을 빼고, 전체 숫자에서 빼주는 것으로 바뀌었다.
또한for문
으로 하나씩append()
해주던 부분도 빠졌다.lambda
함수가 정말 편리하다는것을 깨닫는다.
결과는
level2보다 더 어려운 level1도 있다는 것을 실감한다. 한 문제에 한시간이 넘게 걸리는데, 점점 나아지면 좋겠다.