n을 추가할 리스트 my와 결과물을 출력할때 사용할 리스트 li를 선언한다.
for문을 이용해 입력받은 i들을 리스트 my에 추가한다.
만약 n이 1이면 비교할 필요가 없기 때문에 그냥 my를 출력하고 2이 아닐경우 이중 for문을 활용해 문자열을 비교한다. (비교의 기준이 될 문자열은 my[0] 이므로 check = my[0][j]라는 코드를 for문에 넣는다.) 그 후 check와 my의 문자열이 다르면 리스트 li에 ?를 추가하고 break, 같다면 check을 추가한다. 그 후 li를 문자열로 변환한 x를 출력한다.
**join() 함수: 리스트를 문자열형태로 압축하는 함수, separator.join(iterable)의 형태로 사용한다.
n과 m을 입력받고 n이 0이 아니면 리스트 book에 요소를 입력받고 0이면 빈 리스트 book을 지정한다.
book의 요소를 전달받을 리스트 box와 박스의 개수를 세어줄 변수 cnt를 선언한다.
리스트 book이 비어있지 않을동안 반복되는 while문을 작성한다. 만약 box의 합이 최대무게보다 적거나 같다면 book[0]을 삭제하고 그렇지 않다면 cnt에 1을 더하고 리스트 box를 초기화 시켜준다. (이때, book이 비었다면 cnt에 1을 더한다.)
이후에 cnt를 출력한다.