
프로그래머스 LV1 K번째수(정렬)
2021, Mar 31
프로그래머스 lv1 K번째수(정렬)
collections.Counter()
해시 가능한 객체를 세는 데 사용하는 딕셔너리 서브 클래스
풀이
def solution(array, commands):
answer = []
cut_s = 0
cut_e = 0
cut_0 = 0
for command in commands:
cut_s = command[0]-1 # start
cut_e = command[1] # end
cut_array = array[cut_s:cut_e]
cut_array = sorted(cut_array) #sorted
print('cut_array:',cut_array)
cut_o = command[2]-1 # order
answer.append(cut_array[cut_o])
print(answer)
return answer
if __name__ == '__main__':
array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
print(solution(array, commands))
# 다른 사람 풀이1
def solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
if __name__ == '__main__':
array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
print(solution(array, commands))
# 다른 사람 풀이2
def solution(array, commands):
answer = []
for i,j,k in commands:
answer.append(list(sorted(array[i-1:j]))[k-1])
return answer
if __name__ == '__main__':
array = [1, 5, 2, 6, 3, 7, 4]
commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
print(solution(array, commands))
for i,j,k in command:
로 생각해낸게 재밌음
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges