반응형
오늘 프로그래머스에서 프린터 문제를 풀다가 같은 수가 여러 개 나오면 max함수를 사용해도 문제가 해결되지 않는다는 것을 알게 되었다. 이러한 경우에는 어떻게 해야할지 고민하다가 enumerate함수에 대해 알게 되었다.
enumerate - 순서가 있는 자료명을 입력 받아서 인덱스 값을 포함하는 enumerate 객체를 반환한다.
예를 들어서 a = [1, 2, 5, 6, 7]이라는 리스트를
enumerate(a)라고 하면 [(0, 1), (1, 2), (2, 5), (3, 6), (4, 7)] 이라는 리스트를 받을 수 있다.
자바에는 우선순위 큐가 있지만 파이썬에는 존재하지 않아 방법을 찾다가 알게 되었다.
우선순위를 리스트로 받아서 우선순위가 인덱스 값이 되도록 원소의 위치를 바꿔주었다.
deque([j, i for i, j in enumerate(a)]) 이런식으로 사용할 수 있다.
오늘 처음 배웠는데 유용하게 사용할 수 있는 함수인 것 같다.
특히 deque와 함께 사용했을때 더 좋은 것 같다.
반응형