< 문제 >

< 정답 >

 

 

 

< 설명 >

- 문제를 이해했다면( 처음에 잘못 이해하였음 ), 쉬운 문제였다.

: 문제에서 제시된 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

+ Recent posts