1) 문제

 클릭▼


    2-1) 코드

      (내 코드)


    2-2) 코드 & 코드 설명

      (개인적으로 좋아하는 코드)

 

 

for i, j, k in commands:
	answer.append(list(sorted(array[i-1:j]))[k-1])

     # commands 에서 i, j, k 를 출력해보자.

     # 이해하기 쉽게 i,  j, k 를 하나씩 출력해보자.

     # answer.append(list(sorted(array[i-1:j]))[k-1]) 를 쪼개서 살펴보면 우선 array를 [k-1:j] 로 슬라이싱                     해서 출력해보자.

     # i-1로 하는 이유는 인덱스는 0부터 시작하므로 array = [1, 5, 2, 6, 3, 7, 4] 에서 2번째 숫자는 5이고                           인덱스로 나타면 array[1]의 위치이기 때문에 i-1로 슬라이싱 한다.                                                                         # j는 -1을 하지 않는 이유는 슬라이싱 할때 만약 array[1:5] 라면 밑에 그림과 같이array 1번째 ~ 4번째                          까지 출력되기 때문에 j에는 -1을 할 필요가 없다.

     # sorted() 함수는 숫자를 순서대로 정렬해주는 함수이다.

     # 슬라이싱한 리스트에서 [k-1] 번째 숫자를 출력한다. i와 마찬가지로 -1을 해준다.

     # 위의 출력 결과를 좀 더 쉽게 설명하면 슬라이싱해서 sorted() 한 결과 [2, 3, 5, 6]를  apple 변수에 넣고                      apple의 [k-1]번째 즉, apple[2]의 결과를 출력하라는 의미이다.

 

+ Recent posts