티스토리 뷰
풀기전에
처음으로 회사에서 출제되는 문제를 풀어 보았다.
프로그래머스에서 보여지는 난이도는 Level1 이라고 되어 있지만, 왠지 모르게 쫄아서 피했던것 같다.
문제가 꽤나 재미있다. 진짜로 있을 것 같은 케이스라고 할 까?
게임에 있어서 각 스테이지의 실패율을 구하는 문제인데 나는 아래와 같이 풀었다.
def solution(N, stages):
answer = [0] * N
counters = dict()
for i in stages:
counters[i] = counters.get(i, 0) + 1
for k, v in counters.items():
i = 1
while k > i:
answer[i-1] += v
i += 1
people = len(stages)
for i in range(len(answer)):
tmp = answer[i]
answer[i] = (i + 1, 0) if people == 0 else (i + 1, (people - answer[i]) / people)
people = tmp
answer = sorted(answer, reverse=True, key=lambda stage: stage[1])
answer = [stage[0] for stage in answer]
return answer
풀고난 후
생각보다 어렵지 않아서 재미있게 풀었던 문제. 덕분에 자신감도 생겼다.
앞으로도 하나씩 도전해야지.