코딩도장

코딩도장

변경이력

돌아가기
5 22개 문자 추가 757개 문자 삭제

2021年06月04日 02:13

김준우

다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10000번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10000회 시행 for mission in range(10000): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) # print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) # print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45총 이동: 44834
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10000번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10000회 시행 for mission in range(10000): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) # print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) # print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45총 이동: 44834
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10000번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10000회 시행 for mission in range(10000): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) # print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) # print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45총 이동: 44834
4 1037개 문자 추가

2021年06月03日 07:19

김준우

다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 15인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ``` 정답 댓글은 아래와 같은 예로 넣으시면 됩니다. ```{.python} def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ``` 미션 0 : [10, 5, 7, 9, 3, 2, 1, 10, 9, 4] [10, 5] [7, 3, 2, 1] [9, 4] [10] [9] 미션 1 : [1, 1, 1, 7, 5, 8, 6, 8, 2, 6] [1, 1, 1, 7, 5] [8, 6] [8, 2] [6] 미션 2 : [9, 8, 4, 7, 10, 3, 4, 1, 6, 3] [9, 4, 1] [8, 7] [10, 3] [4, 6, 3] 미션 3 : [10, 10, 4, 3, 10, 9, 8, 2, 1, 5] [10, 4, 1] [10, 3, 2] [10, 5] [9] [8] 미션 4 : [4, 2, 5, 1, 4, 7, 5, 6, 6, 6] [4, 2, 5, 1] [4, 7] [5, 6] [6, 6] 미션 5 : [10, 5, 10, 8, 8, 7, 7, 1, 4, 8] [10, 5] [10, 1, 4] [8, 7] [8, 7] [8] 미션 6 : [6, 6, 4, 5, 2, 3, 3, 10, 6, 9] [6, 6, 2] [4, 5, 3, 3] [10] [6, 9] 미션 7 : [2, 6, 7, 2, 6, 3, 5, 10, 9, 8] [2, 6, 7] [2, 6, 3] [5, 10] [9] [8] 미션 8 : [3, 9, 6, 2, 6, 1, 7, 10, 8, 10] [3, 9, 2, 1] [6, 6] [7, 8] [10] [10] 미션 9 : [1, 3, 8, 6, 7, 6, 4, 2, 3, 3] [1, 3, 8, 2] [6, 7] [6, 4, 3] [3] 총 이동: 45
3 1개 문자 추가 1개 문자 삭제

2021年06月03日 06:54

김준우

다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 105인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 105인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 15입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 105인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 15) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
2 2개 문자 추가 2개 문자 삭제

2021年06月03日 06:43

김준우

다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 105입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 10인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 105) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 105입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 10인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 105) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 105입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 10인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 105) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
1 Original

2021年06月03日 06:35

김준우

다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 10입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 10인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 10) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
다양한 크기를 가진 물체들을 수레로 옮길 때에, 가능한 최소 횟수로 완료하는 알고리듬 과제입니다. 참여자가 문제에 집중할 수 있도록, 메인코드를 제공하는 까닭에 언어를 python으로 제한했습니다. 물체는 10개이며 각 크기는 1~10의 랜덤값입니다. 수레의 크기는 10입니다. 10번의 반복된 미션을 통해 총 이동횟수의 합을 출력합니다. 참여자는 아래 코딩예제에서 choose라는 함수를 재정의하여 이동횟수를 최적화하시기 바랍니다. 결과를 올리실 때에는 choose 함수 본문과, 메인코드 실행 시 출력결과를 포함하시면 됩니다. 물론 총 이동숫자가 작을 수록 좋은 알고리듬이겠습니다. ```{.python} ########## 아래 함수 choose 를 사용자가 재정의 ######### # 숫자 리스트 things의 숫자들 중, # cartsize 크기의 수레에 실을 숫자들을 선택하여 리턴 ######################################################## def choose(things, cartsize): chosen = [] chosen_size = 0 for thing in things: if chosen_size+thing <= cartsize: chosen.append(thing) chosen_size += thing return chosen ############## 아래 본문은 그대로 재사용 ################### import random # total_moves 초기화 total_moves = 0 # 총 10회 시행 for mission in range(10): # 10개의 물건들이 각각 1~10 크기로 무작위 생성됨 things = [] for i in range(10): things.append(random.randrange(1,11)) print('미션', mission, ':', things) # 이것들을 크기 10인 수레로 가능한 적은 회수로 이동 while len(things)>0: chosen = choose(things, 10) print(chosen) for thing in chosen: things.remove(thing) total_moves += 1 print('총 이동:', total_moves) ```
코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.

코딩도장 © 2014 · 문의 [email protected]
피드백 · 개인정보취급방침 · RSS

AltStyle によって変換されたページ (->オリジナル) /