반응형

오늘 프로그래머스에서 프린터 문제를 풀다가 같은 수가 여러 개 나오면 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와 함께 사용했을때 더 좋은 것 같다. 

반응형

+ Recent posts