그리고 아무도 없었다(?)
조회수 411회
- 범인=[A, B, C, D, E, F, G, H, I, J]의 리스트를
첫번째 사람은 살리고 , 그 다음은 사람은 제거하기(반복)작업
하면, 마지막 한 사람이 남을 때까지 출력하는 코드,
능력자분들께 도움 청합니다.
(단, 삭제되는 과정을 볼 수 있게 출력하고, - 정렬까지 되게)
1) 출력 : 정렬 전
[A, B, C, D, E, F, G, H, I, J]
[C, D, E, F, G, H, I, J, A]
[E, F, G, H, I, J, A, C]
[G, H, I, J, A, C, E]
[I, J, A, C, E, G]
[A, C, E, G, I]
[E, G, I, A]
[I, A, E]
[E, I]
[E] #<-범인!
2) 출력 : 정렬 후
[A, B, C, D, E, F, G, H, I, J]
[A, C, D, E, F, G, H, I, J]
[A, C, E, F, G, H, I, J]
[A, C, E, G, H, I, J]
[A, C, E, G, I, J]
[A, C, E, G, I]
[A, E, G, I]
[A, E, I]
[E, I]
[E] #<-범인!
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
#python3에서 작성된 코드 people = ["A","B","C","D","E","F","G","H","I","J"] def do(list): list.append(list.pop(0)) # 맨 앞사람을 맨 뒤로 넘김 list.pop(0) # 한 사람을 죽임 showing = [] while not len(people) == 1: do(people) showing = people.copy() # 보여주기에 복사 showing.sort() # 정렬 print(showing) # 결과 ['A', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'C', 'E', 'F', 'G', 'H', 'I', 'J'] ['A', 'C', 'E', 'G', 'H', 'I', 'J'] ['A', 'C', 'E', 'G', 'I', 'J'] ['A', 'C', 'E', 'G', 'I'] ['A', 'E', 'G', 'I'] ['A', 'E', 'I'] ['E', 'I'] ['E']
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력