[프로그래머스] 정렬 - K번째수 (python)
- 프로그래밍/프로그래머스
- 2020. 5. 17. 02:45
반응형
정렬 - K번째수, 문제 확인
이번 문제는 정말 간단하다.
배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때 k번째있는 수를 구해야 함
배열 array와 [i,j,k]를 원소로 갖는 2차원 배열 commands가 주어짐
정렬 - K번째수, 문제 풀이
commands를 기준으로 반복문을 돌면서 먼저 array를 tmp에 복사한다. 그리고 i(v[0]), j(v[1])대로 tmp를 자른 후 정렬하고 k번째(v[2]-1) 값을 answer 리스트에 추가해주면 된다.
def solution(array, commands):
answer=[]
for v in commands:
tmp=array
tmp=tmp[v[0]-1:v[1]]
tmp.sort()
answer.append(tmp[v[2]-1])
return answer
여태까지 프로그래머스 문제 중에는 제일 쉬웠던 것 같다. 이전 힙(우선순위큐) 문제 중 디스크컨트롤러를 어떻게 풀어야 할지 모르겠어서 일단 정렬로 넘어왔는데 조만간 꼭 풀이해 올리려고 한다.
정렬 - K번째수, 다른 사람의 풀이
i,j,k를 한꺼번에 쓸 수 있다는 것을 처음 알았다. 자주 써먹어야겠다. 그리고 정렬은 줄수도 줄일겸 sorted() 형태로 사용하는 것이 더 좋을 듯 하다.
def solution(array, commands):
answer = []
for command in commands:
i,j,k = command
answer.append(list(sorted(array[i-1:j]))[k-1])
return answer
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 정렬 - H-Index (파이썬) (0) | 2020.05.18 |
---|---|
[프로그래머스] 정렬 - 가장 큰 수 (python) (0) | 2020.05.17 |
[프로그래머스] 힙(Heap) - 라면공장 (python) (0) | 2020.05.11 |
[프로그래머스] 힙(Heap) - 더맵게 (python) (0) | 2020.05.10 |
[프로그래머스] 스택/큐 - 주식가격 (python) (0) | 2020.05.06 |