< 문제 >
< 정답 >
< 설명 >
- 문제를 이해했다면( 처음에 잘못 이해하였음 ), 쉬운 문제였다.
: 문제에서 제시된 i부터 j번째까지 슬라이싱하려면 [ i -1 : j ] 가 되어야하고, k번째 숫자는 k - 1이 된다.
1) commands의 길이는 입력값마다 다르므로, len(commands)를 최대값으로 하는 반복문을 실행.
2) array에서 순차적으로 2차원 배열 commands의 값으로 슬라이싱.
3) 슬라이싱된 배열을 정렬
4) k-1 번째에 해당하는 값을 배열에 저장
5) 반복문이 끝나면 각 k번째 수에 해당하는 값이 든 배열 answer를 return.
< 배운 것 >
- 2차원 배열의 인덱스에 접근할 수 있다.
- 변수의 이름이 길어지는 등, 어떤 값이 가리키는 것을 파악하기 어려울 때, 조목조목 따져서 알 수 있다.
- array.sort()와 sorted(array)의 차이를 안다.
1) array.sort()는 해당 배열 자체를 정렬(변경)하고, sorted(array)는 해당 배열에 영향을 주지 않고 다른 변수에 값을 할당하거나 바로 출력할 때 사용할 수 있다.
2) sort(), sorted()와 reverse=True의 조합
: array.sort(reverse=True) / sorted(array, reverse=True)
- reverse()와 reversed()
: sort() , sorted() 와 같은 맥락으로 사용 가능하며, 현재 배열에서 역순으로 바꾸는 것이지, DESC 정렬이 아니다.
'Algorithm > 정렬' 카테고리의 다른 글
버블정렬 ( 파이썬, 코틀린 ) (0) | 2021.05.01 |
---|